@charset "UTF-8";
/* START: VENDOR */
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
@import url("../fonts/fontello/css/flo-icons.css");
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

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

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

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

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

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

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

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

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

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

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

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

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

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

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

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

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 48em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 48em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr {
  border-bottom: 1px dotted #0a0a0a;
  color: #0a0a0a;
  cursor: help; }

figure {
  margin: 0; }

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

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

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }

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

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

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

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

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

.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform: rotate(180deg);
  transform-origin: 50% 50%; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

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

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

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

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

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

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

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

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

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

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

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

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    transform: translateX(100%); }

.drilldown-submenu-cover-previous {
  min-height: 100%; }

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

.js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: block;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-open {
    visibility: visible; }

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

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

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

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #1779ba transparent transparent;
  right: 5px;
  margin-top: -3px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

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

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

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #1779ba transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #1779ba; }

@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

@media print, screen and (min-width: 64.0625em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #1779ba transparent transparent;
    right: 5px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #1779ba transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #1779ba; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

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

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

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 1;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-overlap {
    z-index: 10; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 1;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 10; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  transform: translateX(-250px);
  overflow-y: auto; }
  .position-left.is-open ~ .off-canvas-content {
    transform: translateX(250px); }
  .position-left.is-transition-push::after {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-right {
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  transform: translateX(250px);
  overflow-y: auto; }
  .position-right.is-open ~ .off-canvas-content {
    transform: translateX(-250px); }
  .position-right.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  transform: translateY(-250px);
  overflow-x: auto; }
  .position-top.is-open ~ .off-canvas-content {
    transform: translateY(250px); }
  .position-top.is-transition-push::after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  transform: translateY(250px);
  overflow-x: auto; }
  .position-bottom.is-open ~ .off-canvas-content {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.off-canvas-content {
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64.0625em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

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

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

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

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

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

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

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

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

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

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

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

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  transition: all 0.5s ease; }

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

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel[aria-hidden="false"] {
    display: block; }

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

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

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

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

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

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

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

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

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 48em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 64em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* END: VENDOR */
/* START: GLOBAL */
/* START: TEMPORARY */
/* END: TEMPORARY */
/* START: FLO ICONS */
body.flo-social-links-type-b {
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */ }
  body.flo-social-links-type-b .flo-icon-youtube:not(.flo-icon-original):before {
    content: 'YT'; }
  body.flo-social-links-type-b .flo-icon-flickr:not(.flo-icon-original):before {
    content: 'FK'; }
  body.flo-social-links-type-b .flo-icon-vimeo:not(.flo-icon-original):before {
    content: 'VI'; }
  body.flo-social-links-type-b .flo-icon-twitter:not(.flo-icon-original):before {
    content: 'TW'; }
  body.flo-social-links-type-b .flo-icon-facebook:not(.flo-icon-original):before {
    content: 'FB'; }
  body.flo-social-links-type-b .flo-icon-gplus:not(.flo-icon-original):before {
    content: 'GP'; }
  body.flo-social-links-type-b .flo-icon-pinterest:not(.flo-icon-original):before {
    content: 'PI'; }
  body.flo-social-links-type-b .flo-icon-tumblr:not(.flo-icon-original):before {
    content: 'TM'; }
  body.flo-social-links-type-b .flo-icon-linkedin:not(.flo-icon-original):before {
    content: 'LK'; }
  body.flo-social-links-type-b .flo-icon-dribbble:not(.flo-icon-original):before {
    content: 'DB'; }
  body.flo-social-links-type-b .flo-icon-instagram:not(.flo-icon-original):before {
    content: 'IG'; }
  body.flo-social-links-type-b .flo-icon-yahoo:not(.flo-icon-original):before {
    content: 'YH'; }
  body.flo-social-links-type-b .flo-icon-delicious:not(.flo-icon-original):before {
    content: 'DE'; }
  body.flo-social-links-type-b .flo-icon-mail:not(.flo-icon-original):before {
    content: 'ML'; }

/* END: FLO ICONS */
/* START: COLORS */
/* END: COLORS */
/* START: WIDTH VARIABLES */
/* END: WIDTH VARIABLES */
/* START: MIXINS */
/* End: Transitions */
/* End: Transitions */
/* Start: Background image */
/* End: Background image */
/* Start: Box Sizing */
/* End: Box sizing */
/* START: Responsive Images For Background */
/* END: Responsive Images For Background */
.flo-global-clickable {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-global-clickable-with-animation {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: transform 0.5s, color 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-global-clickable-with-animation:hover {
      transform: scale(1.05); }

/* END: MIXINS */
/* START: GLOBAL STYLES */
@media screen and (min-width: 48em) {
  html {
    font-size: 1.25vw; } }

* {
  -webkit-tap-highlight-color: transparent; }

*:not(.flo-post) a:focus, *:not(.flo-post__styles) a:focus {
  color: #000000; }

*:not(.flo-post) .hover-block, *:not(.flo-post__styles) .hover-block {
  display: block; }
  *:not(.flo-post) .hover-block figure, *:not(.flo-post__styles) .hover-block figure {
    opacity: 1;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    *:not(.flo-post) .hover-block figure:hover, *:not(.flo-post__styles) .hover-block figure:hover {
      opacity: 0.6; }
  *:not(.flo-post) .hover-block:hover, *:not(.flo-post__styles) .hover-block:hover {
    color: inherit; }

*:not(.flo-post) ul, *:not(.flo-post__styles) ul {
  list-style: none;
  margin: 0;
  padding: 0; }

body {
  overflow-x: hidden;
  color: #000000;
  width: 100%;
  max-width: 100%;
  background: #ffffff; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

[class^="flo-icon-"]:before,
[class*=" flo-icon-"]:before {
  width: auto;
  height: auto; }

button {
  outline: none; }

a {
  color: inherit; }
  a:hover {
    color: inherit; }

p {
  line-height: inherit; }

figure {
  margin: 0; }

pre {
  white-space: initial; }

.row {
  max-width: initial;
  width: initial; }

@media screen and (min-width: 48em) {
  .row-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.column, .columns {
  padding: 0;
  float: none; }

.slick-initialized .slick-slide {
  outline: none; }

/* START: INPUTS */
input[type]:not([type="submit"]),
textarea {
  box-shadow: none;
  box-sizing: border-box;
  height: 100%;
  padding: 0.5625rem 1.375rem;
  margin-bottom: 0;
  border: 1px solid;
  background-color: transparent; }
  input[type]:not([type="submit"])::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    color: inherit; }
  input[type]:not([type="submit"]):-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: inherit; }
  input[type]:not([type="submit"])::placeholder,
  textarea::placeholder {
    color: inherit; }
  input[type]:not([type="submit"]):focus, input[type]:not([type="submit"]):hover,
  textarea:focus,
  textarea:hover {
    box-shadow: none;
    background-color: transparent; }
  input[type]:not([type="submit"]).flo-no-styling,
  textarea.flo-no-styling {
    padding: 0;
    color: inherit; }
    input[type]:not([type="submit"]).flo-no-styling, input[type]:not([type="submit"]).flo-no-styling:hover, input[type]:not([type="submit"]).flo-no-styling:focus,
    textarea.flo-no-styling,
    textarea.flo-no-styling:hover,
    textarea.flo-no-styling:focus {
      background-color: transparent; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"] {
  line-height: 1em !important; }

input[type='submit'] {
  border: 0;
  background: 0;
  outline: 0;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  transition: color 0.5s, letter-spacing 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

textarea {
  resize: none; }

/* END: INPUTS */
/* START: BUTTONS */
.flo-button,
input[type="submit"] {
  display: inline-block;
  text-align: center;
  min-width: 8.4375rem;
  padding: 1.0625rem 3.375rem;
  transition: opacity 0.5s, background-color 0.5s, color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 1.6875rem;
  cursor: pointer; }
  .flo-button:not(.flo-button--without-border),
  input[type="submit"]:not(.flo-button--without-border) {
    border-width: 1px;
    border-style: solid; }

/* END: BUTTONS */
/* END: GLOBAL STYLES */
/* START: APPEAR ANIMATION */
@media screen and (min-width: 64.0625em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

@media screen and (min-width: 48em) and (max-width: 64em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

@media screen and (max-width: 47.9375em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

/* END: APPEAR ANIMATION */
/* START: SITE MAX WIDTH */
@media screen and (min-width: 48em) {
  .html--style-fixed .flo-block:not(.flo-block--full-width),
  .html--style-fixed .flo-footer {
    max-width: 100vw; }
  html.html--style-fixed .flo-footer {
    padding-left: 0;
    padding-right: 0; } }

/* END: SITE MAX WIDTH */
/* START: WIDGETS */
.widget {
  margin-bottom: 2.5rem !important; }
  .widget .search-form {
    margin-bottom: 1.40625rem; }
    .widget .search-form .screen-reader-text,
    .widget .search-form .search-submit {
      display: none; }
  .widget .widget--image-link__button {
    text-decoration: none; }
  .widget.widget_flo_lvy_widget_image_link, .widget.widget_flo_lvy_widget_social_links, .widget.widget_flo_lvy_widget_featured_items, .widget.widget_flo_lvy_widget_subscribe {
    text-align: center; }
  .widget.widget_flo_lvy_widget_image_link .widget--image-link__image {
    margin-bottom: 1.6875rem;
    width: 100%; }
  .widget.widget_flo_lvy_widget_image_link .widget--image-link__title {
    padding-bottom: 1.6875rem; }
  .widget.widget_flo_lvy_widget_image_link .widget--image-link__text {
    margin-bottom: 1.6875rem; }
  .widget.widget_flo_lvy_widget_image_link .widget--image-link__button {
    color: inherit !important;
    border-color: inherit !important;
    padding: 0.625rem 1.125rem !important;
    display: inline-block;
    min-width: 0 !important; }
  .widget.widget_flo_lvy_widget_social_links .widget--social-links__main-wrap {
    padding: 2.3125rem 2.6875rem; }
  .widget.widget_flo_lvy_widget_social_links .widget--social-links__pretitle {
    padding-bottom: 0.3125rem; }
  .widget.widget_flo_lvy_widget_social_links .widget--social-links__title {
    position: relative; }
    .widget.widget_flo_lvy_widget_social_links .widget--social-links__title:after {
      content: " ";
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 2rem;
      border-top: 1px solid; }
  .widget.widget_flo_lvy_widget_social_links .widget--social-links__wrap {
    margin-top: 1.6875rem; }
  .widget.widget_flo_lvy_widget_social_links .flo-social-links__link {
    text-decoration: none;
    font-size: 0.75rem; }
    .widget.widget_flo_lvy_widget_social_links .flo-social-links__link:not(:last-child) {
      margin-right: 0.625rem; }
  .widget.widget_flo_lvy_widget_featured_items .widget--featured-items__title {
    padding-bottom: 2.125rem; }
  .widget.widget_flo_lvy_widget_featured_items .widget--featured-items__item {
    margin-bottom: 1.125rem; }
    .widget.widget_flo_lvy_widget_featured_items .widget--featured-items__item .widget--featured-items__item-wrap {
      text-decoration: none; }
      .widget.widget_flo_lvy_widget_featured_items .widget--featured-items__item .widget--featured-items__item-wrap .widget--featured-items__item-title {
        padding: 1.875rem 2.1875rem; }
      .widget.widget_flo_lvy_widget_featured_items .widget--featured-items__item .widget--featured-items__item-wrap .widget--featured-items__item-image {
        margin-bottom: 0;
        width: 100%; }
  .widget.widget_flo_lvy_widget_subscribe .widget__flo-form--newsletter__main-wrap {
    padding: 1.8125rem 2.875rem 2.5625rem 2.875rem; }
  .widget.widget_flo_lvy_widget_subscribe .widget__flo-form--newsletter__title {
    padding-bottom: 1.4375rem; }
  .widget.widget_flo_lvy_widget_subscribe .widget__flo-form--newsletter__text-wrap {
    margin-bottom: 2.35rem; }
  .widget.widget_flo_lvy_widget_subscribe input[type]:not([type="submit"]) {
    border-width: 0;
    border-bottom-width: 1px;
    text-align: center; }
  .widget.widget_flo_lvy_widget_subscribe .widget__flo-form--newsletter__form-name {
    margin-bottom: 1.6875rem; }
  .widget.widget_flo_lvy_widget_subscribe .widget__flo-form--newsletter__form-submit {
    max-width: 12.5rem;
    width: 100%;
    min-width: 0;
    margin-top: 2.875rem !important;
    padding: 0.8125rem 0.9375rem; }

.widget_search form {
  position: relative; }
  .widget_search form:after {
    content: '\e817';
    display: inline-block;
    font-family: "flo-icons";
    font-size: 0.75rem;
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%); }

.widget_search input {
  border: 1px solid !important;
  padding: 0.9375rem 1.125rem !important;
  border-color: #BDBDBD !important; }

/* END: WIDGETS */
/* START: Z-INDEX MAP */
.flo-page-has-sidebar__sidebar {
  z-index: 9; }

.flo-slider-arrow {
  z-index: 9; }

.flo-page-hero__logo {
  z-index: 11; }

.flo-header {
  z-index: 999999; }

.flo-page-about-type-a__featured-info {
  z-index: 9; }

.flo-block-slideshow-1__navigation {
  z-index: 3; }

/* END: Z-INDEX MAP */
body {
  opacity: 0;
  transition: opacity 0.25s ease-in; }

.overflow-hide {
  overflow-y: hidden; }

/* END: HTML OVERFLOW FOR SAFARI FIX */
/* START: FIX ROWS IN SAFARI */
.row:before {
  width: 0; }

/* END: FIX ROWS IN SAFARI */
/* START: FOUNDATION REWRITES */
body a {
  outline-width: initial !important; }

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

/* END: FOUNDATION REWRITES */
/* START: CONTACT FORM DROPDOWN STYLES */
.flo-form * {
  font-variant-ligatures: no-common-ligatures; }

.flo-form input[type="checkbox"],
.flo-form input[type="radio"] {
  height: auto; }

/* END: CONTACT FORM DROPDOWN STYLES */
/* END: GLOBAL */
/* START: COMPONENTS (KEEP THIS ONE AT THE BOTTOM ALL THE TIME) */
.comments-block {
  padding-top: 5.3125rem; }
  .comments-block .flo-icon-reply {
    font-size: 0.875rem; }
  .comments-block .parent .comment .comment-body {
    padding-left: 2.1875rem;
    padding-right: 2.1875rem; }
  .comments-block .parent .comment.depth-3 .comment-body {
    padding-left: 3.125rem; }
  .comments-block .parent .comment.depth-4 .comment-body {
    padding-left: 4.0625rem; }
  .comments-block .parent .comment.depth-5 .comment-body {
    padding-left: 5rem; }
  .comments-block .parent .comment.depth-5 .comment-body {
    padding-left: 5.9375rem; }
  .comments-block .comment-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 1.375rem 0; }
  .comments-block .comment-name-and-reply {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .comments-block .comment-avatar-and-name {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .comments-block .flo-lovely2-comments-block__reply {
    position: relative;
    margin: 0.625rem 0;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .comments-block .flo-lovely2-comments-block__reply .comment-reply-link {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%; }
    .comments-block .flo-lovely2-comments-block__reply:hover {
      color: #bbbbbb; }
  .comments-block .comment-block-content {
    display: -ms-flexbox;
    display: flex;
    padding-top: 0.625rem; }
  .comments-block .comment-meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 1.5rem; }
  .comments-block .comment-avatar {
    padding-right: 0.875rem; }
    .comments-block .comment-avatar img {
      border-radius: 50%;
      width: 2.25rem;
      margin: 0; }
  .comments-block .comment-respond {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .comments-block .comment-respond input:not([type="submit"]) {
      margin-bottom: 1.25rem; }
  .comments-block__top-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding-bottom: 1.5rem; }
  .comments-block__show {
    position: relative; }
  .comments-block__top-bar-hide-button .flo-icon {
    font-size: 0.5rem; }
  .comments-block__top-bar-show-button .flo-icon {
    font-size: 0.75rem; }
  .comments-block__top-bar-hide-button, .comments-block__top-bar-show-button, .comments-block__top-bar-toggle-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    transition: opacity 0.5s, visibility 0.5s, height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block__top-bar-toggle-button {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .comments-block__top-bar-toggle-button-label-wrap {
    position: relative; }
  .comments-block__top-bar-toggle-button-label {
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .comments-block__top-bar-toggle-button-label--hide {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      opacity: 0; }
  .comments-block__top-bar-toggle-button-icon {
    margin-left: 0.78125rem;
    transform: rotate(180deg);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block__collapsed {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%; }
  .comments-block__posts {
    transition: visibility 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block--expanded .comments-block__top-bar-show-button {
    opacity: 0;
    visibility: hidden;
    height: 0; }
  .comments-block--expanded .comments-block__top-bar-hide-button {
    opacity: 1;
    visibility: visible;
    height: inherit; }
  .comments-block--expanded .comments-block__top-bar-toggle-button-label--show {
    opacity: 0; }
  .comments-block--expanded .comments-block__top-bar-toggle-button-label--hide {
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-show-button {
    visibility: visible;
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-hide-button {
    visibility: hidden;
    opacity: 0; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-label--show {
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-label--hide {
    opacity: 0; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-icon {
    transform: rotate(0deg); }
  .comments-block__post-form {
    padding-top: 2.75rem;
    /* START: PARSLEY */
    /* END: PARSLEY */ }
    .comments-block__post-form .form-submit {
      padding-top: 3rem; }
    .comments-block__post-form .parsley-errors-list {
      display: block; }
    .comments-block__post-form .parsley-required {
      color: red;
      margin: 0.625rem 0; }
  .comments-block__form-title-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
  .comments-block__form-title {
    padding-bottom: 2.25rem; }
  .comments-block__form-field {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 1.25rem; }
    .comments-block__form-field:last-of-type {
      margin-bottom: 0; }
  .comments-block .form-submit {
    padding-top: 3rem; }
  @media screen and (min-width: 48em) {
    .comments-block .comment-content {
      padding-top: 0.875rem; }
    .comments-block__form-field input[type]:not([type="submit"]) {
      margin-right: 5.625rem; }
      .comments-block__form-field input[type]:not([type="submit"]):last-child {
        margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .comments-block .comment-block-content {
      -ms-flex-direction: column;
          flex-direction: column; }
    .comments-block__form-field {
      -ms-flex-direction: column;
          flex-direction: column; }
      .comments-block__form-field input[type]:not([type="submit"]) {
        margin-bottom: 2.1875rem; }
        .comments-block__form-field input[type]:not([type="submit"]):last-of-type {
          margin-bottom: 0; }
    .comments-block__post-form {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.comment-reply-title {
  text-align: center; }
  .comment-reply-title .flo-icon-close {
    padding-right: 0.625rem;
    font-size: 0.875rem; }

.comments-pagination h2.screen-reader-text {
  display: none; }

.comments-pagination .nav-links {
  text-align: center; }

.comments-pagination .page-numbers.prev .screen-reader-text, .comments-pagination .page-numbers.next .screen-reader-text {
  display: none; }

.comments-pagination .page-numbers.prev {
  float: left; }

.comments-pagination .page-numbers.next {
  float: right; }

.flo-block {
  max-width: 100%;
  position: relative; }
  .flo-block--merged-with-header {
    padding-top: 0 !important; }
  .flo-block--full-width {
    padding-left: 0;
    padding-right: 0; }
  .flo-block--not-found {
    margin-bottom: 3.75rem; }
  .flo-block--hidden {
    display: none; }
  .flo-block__header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999; }
  .flo-block__container {
    background-color: inherit; }
    .flo-block__container:after {
      content: '';
      clear: both;
      display: block; }
  .flo-block:last-child {
    padding-bottom: 0; }
  @media screen and (min-width: 48em) {
    .flo-block {
      padding: 3.125rem 9.0625rem; }
      .flo-block__container {
        margin: 0 auto;
        position: relative; }
      .flo-block--no-top-padding {
        padding-top: 0;
        padding-bottom: 0; }
      .flo-block--full-width {
        padding-right: 0;
        padding-left: 0; }
      .flo-block--medium-width .flo-block__container {
        max-width: 47.5rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem; }
      .flo-block--header-hidden-on-desktop .flo-block__header {
        display: none; }
      .flo-block:first-child {
        padding-top: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block {
      padding: 1.875rem 0; }
      .flo-block:not(.flo-block--full-width) {
        padding: 1.875rem 1.9375rem; }
      .flo-block:first-child {
        padding-top: 0; } }

.flo-form input[type] {
  margin: 0; }

.flo-form__field {
  margin-bottom: 1.46875rem; }
  .flo-form__field:last-of-type {
    margin-bottom: 0; }

.flo-form input[type="submit"] {
  margin-top: 2.5rem; }

.flo-modal {
  position: fixed;
  z-index: 9;
  background: rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: none; }
  .flo-modal .thx-msg {
    width: 300px;
    height: 200px;
    text-align: center;
    padding: 20px;
    vertical-align: middle;
    margin: 0 auto;
    top: 50%;
    margin-top: -180px;
    position: absolute;
    left: 50%;
    margin-left: -170px;
    background-color: #fff;
    border: 2px solid #e5e5e5; }

.contact-response p {
  border-radius: 0.78125rem;
  border: 2px dashed #f9f9f9;
  padding: 0.9375rem;
  margin-top: 0.9375rem;
  color: #dddcdb; }

*[data-lqip-src] {
  transition: filter 0.5s, background-image 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  *[data-lqip-src]:not(.flo-lqip--original-loaded) {
    filter: blur(40px); }

.flo-page-head {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: calc(100% - 5rem);
  margin: 0 auto; }
  .flo-page-head--with-border {
    border-bottom: 1px solid #bbbbbb; }
  .flo-page-head__dropdown {
    visibility: hidden; }
    .flo-page-head__dropdown .flo-dropdown-menu {
      height: 100%; }
  .flo-page-head--has-dropdown-menu .flo-page-head__dropdown {
    visibility: visible; }
  .flo-page-head__decoration-image {
    display: inline-block;
    max-width: 5.55rem;
    margin-bottom: 1.25rem; }
  .flo-page-head__title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    font-size: 0.9375rem;
    letter-spacing: 1em;
    text-transform: uppercase;
    text-align: center; }
  @media screen and (min-width: 48em) {
    .flo-page-head__title {
      width: 60%;
      padding: 2.6875rem 0; }
    .flo-page-head__left-side {
      width: 20%; }
    .flo-page-head__dropdown {
      width: 20%; }
    .flo-page-head .flo-dropdown-menu__btn {
      margin-left: auto; } }
  @media screen and (max-width: 47.9375em) {
    .flo-page-head {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      width: calc(100% - 3.75rem);
      padding-top: 2.6875rem;
      margin-bottom: 2.5rem; }
      .flo-page-head .flo-dropdown-menu__btn {
        padding: 1.4375rem 0 2.6875rem; } }

.flo-share-rollover {
  position: relative;
  display: inline-block; }
  .flo-share-rollover__trigger {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-share-rollover__share-wrap {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: -ms-inline-flexbox;
    display: inline-flex; }
    .flo-share-rollover__share-wrap a {
      margin: 0 0.4375rem;
      font-size: 0.6875rem;
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-share-rollover.visible .flo-share-rollover__trigger {
    opacity: 0;
    pointer-events: none; }
  .flo-share-rollover.visible .flo-share-rollover__share-wrap {
    opacity: 1;
    pointer-events: initial; }

.slick-slider .slick-track,
.slick-slider .slick-list,
.slick-slider .slick-slide,
.slick-slider a {
  outline: none !important;
  box-shadow: none !important; }

.slick-arrow {
  transition: color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer; }

.flo-video-embed-dummy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }
  .flo-video-embed-dummy__video-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    z-index: 100;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 4.375rem;
    font-size: 0.6875rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    transition: color 0.5s, top 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed-dummy__video-button:hover {
      opacity: 0.4; }
  .flo-video-embed-dummy__video-button-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed-dummy__video-button-icon--play {
      opacity: 1; }
  @media screen and (max-width: 47.9375em) {
    .flo-video-embed-dummy__video-button {
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      font-size: 0.71886rem; } }

.flo-video-embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }
  .flo-video-embed__screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__screen iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .flo-video-embed__video-button {
    pointer-events: initial;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    z-index: 100;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 4.375rem;
    font-size: 0.5625rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    transition: color 0.5s, top 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__video-button:hover {
      opacity: 0.4; }
  .flo-video-embed__video-button-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__video-button-icon--play {
      opacity: 0; }
    .flo-video-embed__video-button-icon--stop {
      opacity: 0; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__screen {
    opacity: 0;
    pointer-events: none; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button {
    top: 50%; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button-icon--play {
    opacity: 1; }
  .flo-video-embed--loaded .flo-video-embed__screen {
    opacity: 1;
    pointer-events: initial; }
  .flo-video-embed--loaded .flo-video-embed__video-button {
    top: 6.25rem; }
    @media screen and (max-width: 47.9375em) {
      .flo-video-embed--loaded .flo-video-embed__video-button {
        top: 2.5rem; } }
  .flo-video-embed--loaded .flo-video-embed__video-button-icon--stop {
    opacity: 1; }
  .flo-video-embed--loaded:not(:hover) .flo-video-embed__video-button {
    opacity: 0; }
  @media screen and (max-width: 47.9375em) {
    .flo-video-embed__video-button {
      width: 4rem;
      height: 4rem;
      border-radius: 4rem;
      font-size: 0.5625rem; } }

.flo-social-links-type-a .flo-social-links__link {
  font-size: 0.75rem; }

.flo-social-links-type-b .flo-social-links__link:before {
  line-height: 1em !important; }
  .flo-social-links-type-b .flo-social-links__link:before:not(:last-child) {
    margin-right: 1.125rem; }

.flo-block-button {
  text-align: center; }
  .flo-block-button__button {
    display: inline-block;
    padding: 1rem 2.0625rem;
    line-height: 1em !important;
    border: 1px solid;
    transition: color 0.5s, background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-category-switcher-1__image-wrap {
  position: relative;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-category-switcher-1 .flo-block-category-switcher-1__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-category-switcher-1 .flo-block-category-switcher-1__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-category-switcher-1 .flo-block-category-switcher-1__image-wrap {
    background-image: var(--img-large); } }

.flo-block-category-switcher-1__header-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }
  .flo-block-category-switcher-1__header-area header:not(.is-sticky) .flo-header {
    color: inherit !important;
    border-color: inherit !important;
    background-color: transparent !important; }

.flo-block-category-switcher-1__categories-wrap {
  z-index: 2;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  min-height: 4.875rem; }

.flo-block-category-switcher-1__links-title {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.flo-block-category-switcher-1__links-divider {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

@media screen and (min-width: 48em) {
  .flo-block-category-switcher-1__image-wrap {
    -ms-flex-align: start;
        align-items: flex-start; }
  .flo-block-category-switcher-1__title {
    text-align: center;
    padding: 0 2.5625rem 0 2.5625rem;
    position: absolute;
    left: 50%;
    top: 42.82%;
    width: 100%;
    transform: translate(-50%, -50%); }
  .flo-block-category-switcher-1__categories-wrap {
    padding: 1.4375rem 0 1.4375rem 2.0625rem; }
    .flo-block-category-switcher-1__categories-wrap--with-image {
      position: absolute;
      left: 2.5625rem;
      right: 2.5625rem;
      bottom: 2.5625rem;
      width: calc(100% - 5.0625rem); }
  .flo-block-category-switcher-1__links-divider {
    width: 1px;
    height: 2.125rem;
    margin: 0 2.5625rem;
    transform: rotate(30deg); }
    .flo-block-category-switcher-1__links-divider:before {
      content: ''; }
  .flo-block-category-switcher-1__category {
    margin-right: 2.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-category-switcher-1__image-wrap {
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-category-switcher-1.flo-block-category-switcher-1__image-hidden-mobile .flo-block-category-switcher-1__image-wrap {
    display: none; }
  .flo-block-category-switcher-1.flo-block-category-switcher-1__image-hidden-mobile .flo-block-category-switcher-1__categories-wrap {
    top: auto;
    width: 100%; }
  .flo-block-category-switcher-1__title {
    text-align: center;
    padding: 1.9375rem;
    margin: 0 1.9375rem; }
  .flo-block-category-switcher-1__categories-wrap {
    margin: 0 auto;
    text-align: center;
    position: relative;
    padding: 1.25rem 0;
    -ms-flex-direction: column;
        flex-direction: column; }
    .flo-block-category-switcher-1__categories-wrap--with-image {
      top: -2.4375rem;
      width: calc(100% - 3.875rem); }
    .flo-block-category-switcher-1__categories-wrap.flo-block-category-switcher-1__layout--dropdown .flo-block-category-switcher-1__links-divider {
      width: 0.9375rem;
      margin-top: 0.9375rem;
      margin-bottom: 0;
      background-color: transparent;
      height: auto;
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-category-switcher-1__categories-wrap.flo-block-category-switcher-1__layout--dropdown .flo-block-category-switcher-1__links-list {
      opacity: 0;
      position: absolute;
      pointer-events: none;
      top: 100%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
      padding: 1.5625rem;
      background-color: inherit; }
    .flo-block-category-switcher-1__categories-wrap.flo-block-category-switcher-1__layout--dropdown.expanded .flo-block-category-switcher-1__links-divider {
      transform: rotate(180deg); }
    .flo-block-category-switcher-1__categories-wrap.flo-block-category-switcher-1__layout--dropdown.expanded .flo-block-category-switcher-1__links-list {
      opacity: 1;
      pointer-events: auto; }
    .flo-block-category-switcher-1__categories-wrap--no-image {
      width: 100%; }
  .flo-block-category-switcher-1__links-divider {
    height: 1px;
    width: 2.125rem;
    margin: 1.25rem 0; }
  .flo-block-category-switcher-1__links-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-category-switcher-1__category {
    margin-bottom: 1.25rem; } }

.flo-block-comments__comment {
  margin-bottom: 2.3125rem; }

.flo-block-comments__comment-avatar {
  height: 3.125rem;
  border-radius: 3.125rem;
  overflow: hidden;
  margin-bottom: 1.0625rem; }
  .flo-block-comments__comment-avatar,
  .flo-block-comments__comment-avatar img {
    width: 3.125rem; }
  .flo-block-comments__comment-avatar img {
    display: inline-block; }

.flo-block-comments__comment-author {
  margin-bottom: 1.0625rem; }

.flo-block-comments__comment-date:before {
  content: "/";
  display: inline-block;
  margin-right: 0.5em; }

.flo-block-comments__comment-text p:last-child {
  margin-bottom: 0; }

.flo-block-comments__comment-reply {
  margin-top: 1.5625rem; }

.flo-block-comments__form-field-wrap {
  position: relative; }

.flo-block-comments__form-field {
  color: inherit; }

.flo-block-comments__form-field-label {
  color: inherit;
  position: absolute;
  left: 0;
  pointer-events: none;
  transition: top 0.5s, transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-comments__list-wrap {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-comments__title {
    width: 22.62%;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .flo-block-comments__list {
    width: 77.38%;
    margin-bottom: 5.4375rem; }
  .flo-block-comments__comment {
    display: -ms-flexbox;
    display: flex; }
  .comment .comment .flo-block-comments__comment {
    padding: 3.25rem 2.375rem; }
  .flo-block-comments__comment-left-wrap {
    width: 11.25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-right: 1.25rem; }
  .flo-block-comments__form-wrap {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-comments__form-title {
    width: 22.62%; }
  .flo-block-comments .comment-respond {
    width: 77.38%; }
  .flo-block-comments__form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .flo-block-comments__form-field-wrap--small {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(100% / 3 - 2.8125rem);
    margin-bottom: 2.10188rem !important; }
    .flo-block-comments__form-field-wrap--small:not(:nth-child(3)) {
      margin-right: 4.21875rem; }
  .flo-block-comments__form-field-wrap--big {
    width: 100%;
    margin-bottom: 1.97063rem; }
  .flo-block-comments__list .comment-respond {
    width: 100%;
    margin-bottom: 6.25rem; }
    .flo-block-comments__list .comment-respond .flo-block-comments__form-field-wrap {
      width: 100%;
      margin-bottom: 2.5rem !important; }
    .flo-block-comments__list .comment-respond .flo-block-comments__form-field {
      display: block; }
      .flo-block-comments__list .comment-respond .flo-block-comments__form-field--small, .flo-block-comments__list .comment-respond .flo-block-comments__form-field--big {
        width: 100%; }
  .flo-block-comments .form-submit {
    width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-comments__title {
    text-align: center;
    margin-bottom: 1.875rem; }
  .flo-block-comments .comment .comment .flo-block-comments__comment {
    padding: 1.25rem 1.25rem; }
  .flo-block-comments__comment-left-wrap {
    margin-bottom: 1.25rem; }
  .flo-block-comments__form-title {
    text-align: center;
    margin-bottom: 1.25rem; }
  .flo-block-comments__form-field-wrap {
    margin-bottom: 2.5625rem !important; }
  .flo-block-comments .form-submit {
    text-align: center; } }

.flo-block-contact-block-1 {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-contact-block-1 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-contact-block-1 {
    background-image: var(--img-large); } }

.flo-block-contact-block-1__contact-description {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-contact-block-1__contact-description {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-contact-block-1__contact-description {
    background-image: var(--img-large); } }

.flo-block-contact-block-1 {
  position: relative;
  background-attachment: fixed;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  .flo-block-contact-block-1 .flo-form label {
    margin-top: 0.5rem; }
  .flo-block-contact-block-1 .flo-form input, .flo-block-contact-block-1 .flo-form label, .flo-block-contact-block-1 .flo-form textarea {
    text-align: center; }
  .flo-block-contact-block-1__contact-description {
    width: 100%;
    position: relative; }
  .flo-block-contact-block-1__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-contact-block-1__header-area {
    width: 100%; }
    .flo-block-contact-block-1__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-contact-block-1__left-side {
    position: relative; }
  .flo-block-contact-block-1__scroll-down {
    display: inline-block;
    border-bottom: 1px solid; }
  .flo-block-contact-block-1__right-side {
    position: relative; }
  .flo-block-contact-block-1__social-links a {
    font-size: 0.75rem;
    margin-right: 0.375rem; }
  .flo-block-contact-block-1__form-wrap {
    text-align: center;
    width: 100%; }
  .flo-block-contact-block-1__form-section--custom {
    text-align: center; }
    .flo-block-contact-block-1__form-section--custom form {
      width: 100%; }
    .flo-block-contact-block-1__form-section--custom .submit-row {
      text-align: center;
      padding-top: 0 !important; }
    .flo-block-contact-block-1__form-section--custom .flo-submit-button {
      margin-top: 2.4375rem;
      padding: 0.75rem 1.4375rem;
      line-height: 1em !important;
      min-height: 2.625rem; }
    .flo-block-contact-block-1__form-section--custom input[type]:not([type="submit"]), .flo-block-contact-block-1__form-section--custom textarea {
      border-top: 0 !important;
      border-left: 0 !important;
      border-right: 0 !important; }
    .flo-block-contact-block-1__form-section--custom .error {
      margin-top: 0.3125rem;
      color: red !important; }
  .flo-block-contact-block-1__form-title {
    text-align: center; }
  .flo-block-contact-block-1__form-subtitle {
    text-align: center; }
  .flo-block-contact-block-1__fields-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .flo-block-contact-block-1__form-field {
    position: relative; }
    .flo-block-contact-block-1__form-field:not(:last-child) {
      margin-bottom: 1.8125rem !important; }
    .flo-block-contact-block-1__form-field input,
    .flo-block-contact-block-1__form-field label,
    .flo-block-contact-block-1__form-field textarea {
      display: block;
      text-align: center;
      border: 0 !important;
      padding-bottom: 0.375rem; }
    .flo-block-contact-block-1__form-field textarea {
      min-height: 6.25rem; }
  .flo-block-contact-block-1__form-submit {
    margin-top: 2.4375rem;
    padding: 0.75rem 1.4375rem;
    line-height: 1em !important;
    min-height: 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-block-contact-block-1 {
      overflow: hidden; }
      .flo-block-contact-block-1__desktop-wrap {
        display: -ms-flexbox;
        display: flex; }
      .flo-block-contact-block-1__mobile-wrap {
        display: none; }
      .flo-block-contact-block-1__contact-description {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        padding: 0 11.875rem;
        height: 100vh;
        background-image: none; }
      .flo-block-contact-block-1:not(.flo-block-contact-block-1--no-scroll-effect) .flo-block-contact-block-1__contact-description {
        position: fixed; }
      .flo-block-contact-block-1.flo-block-contact-block-1--no-scroll-effect .flo-block-contact-block-1__form-wrap {
        margin-top: 0; }
      .flo-block-contact-block-1__header-area {
        position: absolute;
        top: 0;
        left: 0; }
      .flo-block-contact-block-1__left-side {
        width: 50%; }
      .flo-block-contact-block-1__title:not(:last-child) {
        margin-bottom: 3.125rem; }
      .flo-block-contact-block-1__title-paragraph {
        margin-left: 2.8125rem; }
        .flo-block-contact-block-1__title-paragraph:not(:last-child) {
          margin-bottom: 6.25rem; }
      .flo-block-contact-block-1__scroll-down-wrap {
        margin-left: 2.8125rem; }
      .flo-block-contact-block-1__arrow-down {
        position: absolute;
        left: 0; }
      .flo-block-contact-block-1__scroll-down {
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        cursor: pointer;
        outline: none; }
      .flo-block-contact-block-1__right-side {
        width: 50%;
        text-align: right; }
      .flo-block-contact-block-1__social-links-wrap:not(:last-child) {
        margin-bottom: 3.125rem; }
      .flo-block-contact-block-1__social-links-pretitle:not(:last-child) {
        margin-bottom: 0.625rem; }
      .flo-block-contact-block-1__social-links-title:not(:last-child) {
        margin-bottom: 1.5rem; }
      .flo-block-contact-block-1__location-pretitle:not(:last-child) {
        margin-bottom: 0.3125rem; }
      .flo-block-contact-block-1__location-title:not(:last-child) {
        margin-bottom: 0.625rem; }
      .flo-block-contact-block-1__form-wrap {
        width: 100vw;
        margin-top: 100vh;
        height: auto;
        z-index: 1;
        display: block;
        position: relative;
        top: auto;
        overflow: hidden; }
        .flo-block-contact-block-1__form-wrap .ps__rail-x,
        .flo-block-contact-block-1__form-wrap .ps__rail-y {
          display: none; }
      .flo-block-contact-block-1__form-section {
        padding: 4.5rem 18.875rem 5rem;
        height: 100%; }
      .flo-block-contact-block-1__form-title {
        margin-bottom: 0.3125rem; }
      .flo-block-contact-block-1__fields-wrap:not(:first-child) {
        margin-top: 2.8125rem; }
      .flo-block-contact-block-1__form-field {
        width: 100%; }
        .flo-block-contact-block-1__form-field--half-width {
          width: calc(50% - 1.375rem); }
          .flo-block-contact-block-1__form-field--half-width:nth-child(2) {
            margin-right: 0 !important; }
        .flo-block-contact-block-1__form-field:nth-child(1), .flo-block-contact-block-1__form-field:nth-child(2) {
          margin-right: 2.75rem; }
        .flo-block-contact-block-1__form-field input,
        .flo-block-contact-block-1__form-field label,
        .flo-block-contact-block-1__form-field textarea {
          padding-left: 0 !important;
          padding-right: 0 !important; }
      .flo-block-contact-block-1--no-scroll-effect {
        overflow: visible; }
        .flo-block-contact-block-1--no-scroll-effect .flo-block-contact-block-1__form-wrap {
          position: relative;
          z-index: 2;
          top: 0;
          left: 0;
          height: auto; } }
  @media screen and (min-width: 48em) and (max-width: 64em) {
    .flo-block-contact-block-1__contact-description {
      height: auto !important;
      padding-top: 13.75rem;
      padding-bottom: 6.25rem;
      position: relative; }
    .flo-block-contact-block-1__form-wrap {
      margin-top: 0;
      position: relative;
      overflow: visible; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-contact-block-1 {
      background-image: none; }
      .flo-block-contact-block-1__header-area {
        z-index: 3;
        position: relative; }
      .flo-block-contact-block-1__desktop-wrap {
        display: none; }
      .flo-block-contact-block-1__mobile-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-direction: column;
            flex-direction: column;
        min-height: 85vh; }
        .flo-block-contact-block-1__mobile-wrap .flo-block-contact-block-1__right-side .flo-block-contact-block-1__social-links-wrap,
        .flo-block-contact-block-1__mobile-wrap .flo-block-contact-block-1__right-side .flo-block-contact-block-1__location-wrap {
          display: inline-block;
          width: 50%;
          margin: 0; }
        .flo-block-contact-block-1__mobile-wrap .flo-block-contact-block-1__right-side .flo-block-contact-block-1__location-wrap {
          float: right;
          text-align: right; }
        .flo-block-contact-block-1__mobile-wrap .flo-block-contact-block-1__right-side .flo-block-contact-block-1__scroll-down-wrap {
          display: block;
          margin: 0 auto;
          text-align: center;
          position: relative;
          clear: both;
          margin-top: 3.4375rem; }
        .flo-block-contact-block-1__mobile-wrap .flo-block-contact-block-1__left-side {
          text-align: center; }
          .flo-block-contact-block-1__mobile-wrap .flo-block-contact-block-1__left-side .flo-block-contact-block-1__title {
            margin-top: 1.5625rem; }
      .flo-block-contact-block-1__contact-description {
        min-height: 100vh;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat; }
        .flo-block-contact-block-1__contact-description:before {
          content: " ";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
      .flo-block-contact-block-1__left-side {
        padding: 1.25rem; }
      .flo-block-contact-block-1__title:not(:last-child) {
        margin-bottom: 1.25rem; }
      .flo-block-contact-block-1__right-side {
        padding: 1.25rem; }
      .flo-block-contact-block-1__social-links-wrap:not(:last-child) {
        margin-bottom: 1.25rem; }
      .flo-block-contact-block-1__social-links-pretitle {
        margin-bottom: 0.3125rem; }
      .flo-block-contact-block-1__social-links-title:not(:last-child) {
        margin-bottom: 0.625rem; }
      .flo-block-contact-block-1__location-pretitle:not(:last-child) {
        margin-bottom: 0.3125rem; }
      .flo-block-contact-block-1__location-title:not(:last-child) {
        margin-bottom: 0.625rem; }
      .flo-block-contact-block-1__form-section {
        position: relative;
        padding: 2.5rem 1.25rem; }
      .flo-block-contact-block-1__form-title {
        margin-bottom: 0.3125rem; }
      .flo-block-contact-block-1__fields-wrap:not(:first-child) {
        margin-top: 2.8125rem; }
      .flo-block-contact-block-1 .flo-block-contact-block-1__form-wrap .flo-form .field-row {
        margin-bottom: 1.5625rem; }
      .flo-block-contact-block-1__form-field {
        width: 100%; } }

.flo-block-contact-block-2 {
  position: relative;
  background-attachment: fixed;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  .flo-block-contact-block-2 .flo-form label {
    margin-top: 0.5rem; }
  .flo-block-contact-block-2 .flo-form input, .flo-block-contact-block-2 .flo-form label, .flo-block-contact-block-2 .flo-form textarea {
    text-align: center; }
  .flo-block-contact-block-2__form-wrap {
    text-align: center;
    width: 100%; }
  .flo-block-contact-block-2__form-section--custom {
    text-align: center; }
    .flo-block-contact-block-2__form-section--custom form {
      width: 100%; }
    .flo-block-contact-block-2__form-section--custom .submit-row {
      text-align: center;
      padding-top: 0 !important; }
    .flo-block-contact-block-2__form-section--custom .flo-submit-button {
      margin-top: 2.4375rem;
      padding: 0.75rem 1.4375rem;
      line-height: 1em !important;
      min-height: 2.625rem; }
    .flo-block-contact-block-2__form-section--custom input[type]:not([type="submit"]), .flo-block-contact-block-2__form-section--custom textarea {
      border-top: 0 !important;
      border-left: 0 !important;
      border-right: 0 !important; }
    .flo-block-contact-block-2__form-section--custom .error {
      margin-top: 0.3125rem;
      color: red !important; }
  .flo-block-contact-block-2__fields-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .flo-block-contact-block-2__form-field {
    position: relative; }
    .flo-block-contact-block-2__form-field:not(:last-child) {
      margin-bottom: 1.8125rem !important; }
    .flo-block-contact-block-2__form-field input,
    .flo-block-contact-block-2__form-field label,
    .flo-block-contact-block-2__form-field textarea {
      display: block;
      text-align: center;
      border: 0 !important;
      padding-bottom: 0.375rem; }
    .flo-block-contact-block-2__form-field textarea {
      min-height: 6.25rem; }
  .flo-block-contact-block-2__form-submit {
    margin-top: 2.4375rem;
    padding: 0.75rem 1.4375rem;
    line-height: 1em !important;
    min-height: 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-block-contact-block-2 {
      overflow: hidden; }
      .flo-block-contact-block-2__form-section {
        padding: 0 18.875rem;
        height: 100%; }
      .flo-block-contact-block-2__form-title {
        margin-bottom: 0.3125rem; }
      .flo-block-contact-block-2__fields-wrap:not(:first-child) {
        margin-top: 2.8125rem; }
      .flo-block-contact-block-2__form-field {
        width: 100%; }
        .flo-block-contact-block-2__form-field--half-width {
          width: calc(50% - 1.375rem); }
          .flo-block-contact-block-2__form-field--half-width:nth-child(2) {
            margin-right: 0 !important; }
        .flo-block-contact-block-2__form-field:nth-child(1), .flo-block-contact-block-2__form-field:nth-child(2) {
          margin-right: 2.75rem; }
        .flo-block-contact-block-2__form-field input,
        .flo-block-contact-block-2__form-field label,
        .flo-block-contact-block-2__form-field textarea {
          padding-left: 0 !important;
          padding-right: 0 !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-contact-block-2__form-section {
      position: relative;
      padding: 2.5rem 1.25rem; }
    .flo-block-contact-block-2__form-title {
      margin-bottom: 0.3125rem; }
    .flo-block-contact-block-2__fields-wrap:not(:first-child) {
      margin-top: 2.8125rem; }
    .flo-block-contact-block-2 .flo-block-contact-block-2__form-wrap .flo-form .field-row {
      margin-bottom: 1.5625rem; }
    .flo-block-contact-block-2__form-field {
      width: 100%; } }

.flo-block-faq-block-1__title-area {
  text-align: center;
  position: relative;
  margin-bottom: 3.125rem; }

.flo-block-faq-block-1__title {
  position: relative;
  z-index: 2; }

.flo-block-faq-block-1__title-decorative-icon {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.flo-block-faq-block-1__single-qa {
  /*-Add bottom margin to all children except for the last 2-*/
  margin-bottom: 2.75rem; }
  .flo-block-faq-block-1__single-qa:nth-last-child(1), .flo-block-faq-block-1__single-qa:nth-last-child(2) {
    margin-bottom: 0; }

.flo-block-faq-block-1__question {
  margin-bottom: 0.625rem;
  position: relative; }

.flo-block-faq-block-1__answer p:last-child {
  margin-bottom: 0; }

@media screen and (min-width: 48em) {
  .flo-block-faq-block-1__faq-wrap {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 2.5rem 0; }
  .flo-block-faq-block-1__single-qa {
    width: 50%; }
    .flo-block-faq-block-1__single-qa:nth-child(odd) {
      padding-left: 2.8125rem;
      padding-right: 5.625rem; }
    .flo-block-faq-block-1__single-qa:nth-child(even) {
      padding-left: 5.625rem;
      padding-right: 2.8125rem; }
  .flo-block-faq-block-1__divider {
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-faq-block-1__single-qa:nth-last-child(1), .flo-block-faq-block-1__single-qa:nth-last-child(2) {
    margin-bottom: 2.75rem; }
  .flo-block-faq-block-1__divider {
    display: none; } }

.flo-block-faq-block-2 {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-faq-block-2 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-faq-block-2 {
    background-image: var(--img-large); } }

.flo-block-faq-block-2 {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative; }
  .flo-block-faq-block-2__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-faq-block-2__title {
    text-align: center;
    position: relative; }
  .flo-block-faq-block-2__faq-slider {
    position: relative;
    overflow: hidden !important; }
    .flo-block-faq-block-2__faq-slider .slick-list {
      overflow: visible; }
  .flo-block-faq-block-2__faq-slide-content {
    display: -ms-flexbox;
    display: flex;
    text-align: center; }
  .flo-block-faq-block-2__answer p:last-child {
    margin-bottom: 0; }
  .flo-block-faq-block-2__navigation {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-faq-block-2__faq-counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-faq-block-2__current-item-number {
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .flo-block-faq-block-2__number-divider {
    height: 1px;
    border-bottom: 1px solid;
    border-color: inherit;
    margin: 0.1875rem 0; }
  .flo-block-faq-block-2__total-item-number {
    -ms-flex-item-align: end;
        align-self: flex-end; }
  @media screen and (min-width: 48em) {
    .flo-block-faq-block-2 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      padding-top: 5.4375rem;
      padding-left: 5.625rem;
      padding-right: 5.625rem;
      padding-bottom: 6.25rem; }
      .flo-block-faq-block-2__title {
        margin-bottom: 7.25rem; }
      .flo-block-faq-block-2__questions-wrap {
        -ms-flex-positive: 1;
            flex-grow: 1;
        min-height: 34.3125rem;
        margin-right: 8.6875rem; }
      .flo-block-faq-block-2__single-qa {
        margin-bottom: 3.75rem; }
      .flo-block-faq-block-2__question {
        width: 50%;
        padding: 0 1.40625rem; }
      .flo-block-faq-block-2__answer {
        width: 50%;
        padding: 0 1.40625rem; }
      .flo-block-faq-block-2__navigation {
        -ms-flex-pack: center;
            justify-content: center;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 3.1875rem; }
        .flo-block-faq-block-2__navigation--hide {
          display: none; }
      .flo-block-faq-block-2__faq-counter {
        margin: 0 8.75rem; }
      .flo-block-faq-block-2__number-divider {
        width: 11.25rem; }
      .flo-block-faq-block-2__arrow {
        font-size: 0.5rem;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        cursor: pointer;
        outline: none; }
        .flo-block-faq-block-2__arrow:hover {
          transform: scale(1.1) !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-faq-block-2 {
      padding: 1.25rem; }
      .flo-block-faq-block-2__image-overlay--hide {
        display: none; }
      .flo-block-faq-block-2__title {
        margin-bottom: 3.125rem; }
      .flo-block-faq-block-2__faq-slider {
        margin-bottom: 3.125rem; }
      .flo-block-faq-block-2__faq-slide-content {
        -ms-flex-direction: column;
            flex-direction: column; }
      .flo-block-faq-block-2__question {
        margin-bottom: 1.25rem; }
      .flo-block-faq-block-2__navigation {
        position: relative;
        -ms-flex-pack: justify;
            justify-content: space-between; }
      .flo-block-faq-block-2__faq-counter {
        width: 50%; }
      .flo-block-faq-block-2__number-divider {
        width: 100%; }
      .flo-block-faq-block-2__arrow {
        font-size: 0.625rem; } }

.flo-block-featured-links__title-wrap {
  text-align: center; }

.flo-block-featured-links__featured-links-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-featured-links__featured-link {
  text-align: center;
  margin-bottom: 2.8125rem; }

@media screen and (min-width: 48em) {
  .flo-block-featured-links {
    padding: 3.125rem 5.625rem; }
    .flo-block-featured-links__title-wrap {
      padding: 0 1.25rem;
      margin-bottom: 2.8125rem; }
    .flo-block-featured-links__featured-links-wrap:hover .flo-block-featured-links__featured-link {
      opacity: 0.5; }
      .flo-block-featured-links__featured-links-wrap:hover .flo-block-featured-links__featured-link:hover {
        opacity: 1; }
    .flo-block-featured-links__featured-link {
      width: calc(100% / var(--number-of-columns));
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-links__title-wrap {
    padding: 1.25rem;
    margin-bottom: 1.25rem; }
  .flo-block-featured-links__featured-links-wrap {
    -ms-flex-direction: column;
        flex-direction: column; } }

.flo-block-gallery-view-1--title-area-position-below .flo-block-gallery-view-1__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: stretch;
      align-items: stretch; }

.flo-block-gallery-view-1--title-area-position-below .flo-block-gallery-view-1__title-area {
  -ms-flex-order: 1;
      order: 1; }

.flo-block-gallery-view-1__placeholder {
  display: none;
  transition: height 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-gallery-view-1__title-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }

.flo-block-gallery-view-1__title {
  margin-bottom: 0.75rem; }

.flo-block-gallery-view-1__category {
  opacity: 0.4; }

.flo-block-gallery-view-1__counter-wrap {
  height: 1.875rem; }

.flo-block-gallery-view-1__counter {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center; }

.flo-block-gallery-view-1__counter-separator {
  height: 1.875rem;
  border-left: 1px solid;
  transform: rotate(30deg);
  margin: 0 1.25rem; }

.flo-block-gallery-view-1__image-wrap {
  position: relative; }

.flo-block-gallery-view-1__arrow {
  width: 45px;
  height: 45px;
  border-radius: 45px;
  overflow: hidden;
  border: 1px solid; }
  .flo-block-gallery-view-1__arrow i {
    transform-origin: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-gallery-view-1__arrow--prev i:before {
    margin-right: .3em; }
  .flo-block-gallery-view-1__arrow--next i:before {
    margin-left: .3em; }

.flo-block-gallery-view-1__arrow-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 45px; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-1--title-area-position-below .flo-block-gallery-view-1__title-area {
    padding-top: 2.5rem;
    padding-bottom: 0; }
  .flo-block-gallery-view-1--stuck-to-top-disabled .flo-block-gallery-view-1__placeholder {
    display: block; }
  .flo-block-gallery-view-1--stuck-to-top-disabled .flo-block-gallery-view-1__content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; }
  .flo-block-gallery-view-1__title-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 2.5rem 9.0625rem;
    padding-top: 0; }
  .flo-block-gallery-view-1__back-button-wrap {
    width: 20%; }
  .flo-block-gallery-view-1__counter-wrap {
    width: 20%;
    text-align: right; }
  .flo-block-gallery-view-1__images-wrap {
    position: relative; }
  .flo-block-gallery-view-1__image-wrap {
    text-align: center; }
  .flo-block-gallery-view-1__image {
    display: inline-block !important; }
  .flo-block-gallery-view-1__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.875rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-gallery-view-1__arrow--prev {
      left: 9.0625rem; }
    .flo-block-gallery-view-1__arrow--next {
      right: 9.0625rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-gallery-view-1 {
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-gallery-view-1__title-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      margin-bottom: 1.25rem; }
    .flo-block-gallery-view-1__back-button-wrap {
      margin-bottom: 1.25rem; }
    .flo-block-gallery-view-1__title-wrap {
      margin-bottom: 1.25rem; }
    .flo-block-gallery-view-1__counter-wrap {
      height: 1.875rem;
      width: 100%;
      position: relative; }
    .flo-block-gallery-view-1__counter {
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
    .flo-block-gallery-view-1__images-wrap {
      position: relative; }
    .flo-block-gallery-view-1__image {
      width: 100%; }
    .flo-block-gallery-view-1__arrow {
      position: absolute;
      top: 1.25rem;
      font-size: 0.75rem; }
      .flo-block-gallery-view-1__arrow--prev {
        left: 1.9375rem; }
      .flo-block-gallery-view-1__arrow--next {
        right: 1.9375rem; } }

.flo-block-gallery-view-2__image {
  display: inline-block;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-2__image.lazy {
    opacity: 0; }

.flo-block-gallery-view-2__image-thumb {
  width: 100%; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-2__image {
    cursor: pointer; } }

.flo-block-gallery-view-3__image {
  display: inline-block;
  height: auto;
  width: 100%; }

.flo-block-gallery-view-3__text-area {
  text-align: center; }

.flo-block-gallery-view-3__date-and-category {
  margin-bottom: 1.5625rem; }

.flo-block-gallery-view-3__title {
  margin-bottom: 2.8125rem; }

.flo-block-gallery-view-3__content {
  margin-bottom: 4.5625rem; }

.flo-block-gallery-view-3__share-links {
  font-size: 0.75rem; }

.flo-block-gallery-view-3__scroll-button i {
  line-height: 1em;
  font-size: 1rem; }

.flo-block-gallery-view-3__scroll-button-label {
  margin-bottom: 0.625rem; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-3 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    position: relative;
    margin: 0 6.25rem; }
    .flo-block-gallery-view-3:before {
      content: " ";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: calc(100% - 25.15625rem);
      height: 100%;
      z-index: -1; }
    .flo-block-gallery-view-3__images {
      width: 58.4%;
      text-align: center;
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-gallery-view-3__image {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none; }
      .flo-block-gallery-view-3__image:not(:last-child) {
        margin-bottom: 0.625rem; }
    .flo-block-gallery-view-3__text-area {
      width: 41.6%;
      padding: 5rem 2.8125rem; }
      .flo-block-gallery-view-3__text-area.is_stuck {
        left: 6.25rem; }
      .flo-block-gallery-view-3__text-area.is_stuck[style*="absolute"] {
        left: 0; }
    .flo-block-gallery-view-3__share {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      margin-bottom: 4.4375rem;
      padding: 0.125rem 0; }
    .flo-block-gallery-view-3__share-label {
      width: 50%;
      padding-right: 2.8125rem; }
    .flo-block-gallery-view-3__share-separator {
      border-right: 1px solid;
      border-color: auto;
      opacity: 0.1;
      height: 100%;
      width: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
    .flo-block-gallery-view-3__share-links {
      width: 50%;
      padding-left: 2.8125rem; }
      .flo-block-gallery-view-3__share-links a {
        margin: 0 0.4375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-gallery-view-3 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: start;
        align-items: flex-start;
    margin: 0 1.9375rem; }
    .flo-block-gallery-view-3:before {
      content: " ";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1; }
    .flo-block-gallery-view-3__images {
      margin-bottom: 1.875rem;
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-gallery-view-3__image:not(:last-child) {
      margin-bottom: 0.625rem; }
    .flo-block-gallery-view-3__text-area {
      padding: 3.125rem 1.9375rem; }
    .flo-block-gallery-view-3__share {
      margin-bottom: 1.875rem; }
    .flo-block-gallery-view-3__share-label {
      margin-bottom: 0.3125rem; }
    .flo-block-gallery-view-3__share-separator {
      display: none; } }

.flo-block-horizontal-divider {
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  .flo-block-horizontal-divider__line {
    position: relative;
    display: inline-block;
    height: 1px; }
  @media screen and (min-width: 48em) {
    .flo-block-horizontal-divider__decorative-icon {
      padding: 0 3.75rem;
      box-sizing: content-box; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-horizontal-divider__decorative-icon {
      padding: 0 1.875rem; } }

.flo-block-image-block-1 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-image-block-1__image-wrap {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-image-block-1__title-paragraph p:last-child {
    margin-bottom: 0; }
  .flo-block-image-block-1__button {
    display: inline-block;
    border: 1px solid;
    border-color: inherit;
    line-height: 1em !important;
    padding: 1rem 1.875rem;
    transition: color 0.5s, background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-image-block-1 {
      padding: 0 2.75rem; }
      .flo-block-image-block-1--left-aligned {
        -ms-flex-direction: row;
            flex-direction: row; }
        .flo-block-image-block-1--left-aligned .flo-block-image-block-1__text-area {
          padding-left: 2.8125rem; }
        .flo-block-image-block-1--left-aligned .flo-block-image-block-1__image-wrap {
          margin-right: 2.8125rem; }
      .flo-block-image-block-1--right-aligned {
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
        .flo-block-image-block-1--right-aligned .flo-block-image-block-1__text-area {
          padding-right: 2.8125rem; }
        .flo-block-image-block-1--right-aligned .flo-block-image-block-1__image-wrap {
          margin-left: 2.8125rem; }
      .flo-block-image-block-1__image-wrap {
        width: 50%; }
      .flo-block-image-block-1__text-area {
        width: 50%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-image-block-1__title {
        margin-bottom: 4.5rem; }
      .flo-block-image-block-1__button-wrap {
        margin-top: 6.75rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-block-1--left-aligned {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-block-1--left-aligned .flo-block-image-block-1__image-wrap {
        margin-bottom: 1.875rem; }
    .flo-block-image-block-1--right-aligned {
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
      .flo-block-image-block-1--right-aligned .flo-block-image-block-1__image-wrap {
        margin-top: 1.875rem; }
    .flo-block-image-block-1__title {
      margin-bottom: 1.25rem; }
    .flo-block-image-block-1__button-wrap {
      margin-top: 1.25rem; }
    .flo-block-image-block-1__button {
      max-width: none; } }

.flo-block-image-block-2 {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-block-2 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-block-2 {
    background-image: var(--img-large); } }

.flo-block-image-block-2__mobile-bg-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-block-2__mobile-bg-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-block-2__mobile-bg-wrap {
    background-image: var(--img-large); } }

.flo-block-image-block-2 {
  display: -ms-flexbox;
  display: flex;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  .flo-block-image-block-2__text-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    text-align: center; }
  .flo-block-image-block-2__pretitle {
    margin-bottom: 0.375rem; }
  .flo-block-image-block-2__vertical-line {
    margin: 1.5625rem 0;
    width: 1px;
    height: 2rem; }
  .flo-block-image-block-2__title-paragraph p:last-child {
    margin-bottom: 0; }
  .flo-block-image-block-2__button-wrap {
    text-align: center; }
  .flo-block-image-block-2__button {
    display: inline-block;
    padding: 0.625rem 1.875rem;
    transition: color 0.5s, border-color 0.5s, background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-image-block-2 {
      -ms-flex-align: center;
          align-items: center;
      padding: 0 5.625rem; }
      .flo-block-image-block-2--text-area-on-the-left {
        -ms-flex-pack: start;
            justify-content: flex-start; }
      .flo-block-image-block-2--text-area-in-the-center {
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-image-block-2--text-area-on-the-right {
        -ms-flex-pack: end;
            justify-content: flex-end; }
      .flo-block-image-block-2__text-area {
        padding: 3.75rem 2.8125rem;
        width: 25.3125rem; }
      .flo-block-image-block-2__mobile-bg-wrap, .flo-block-image-block-2__mobile-img-wrap {
        background-image: none !important;
        display: none; }
      .flo-block-image-block-2__button-wrap {
        margin-top: 1.9375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-block-2 {
      background-image: none !important;
      min-height: 25rem;
      padding: 1.25rem;
      position: relative;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom {
        padding: 0;
        -ms-flex-direction: column;
            flex-direction: column; }
        .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
          position: relative; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__text-area {
        -ms-flex-order: -1;
            order: -1; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap {
        margin-top: 1.5625rem; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
        margin-bottom: 1.5625rem; }
      .flo-block-image-block-2__mobile-bg-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-image-block-2__text-area {
        width: 100%;
        padding: 1.25rem;
        z-index: 1; }
      .flo-block-image-block-2__pretitle {
        margin-bottom: 1.25rem; }
      .flo-block-image-block-2__vertical-line {
        display: none; }
      .flo-block-image-block-2__title-paragraph {
        margin-top: 1.5625rem; }
      .flo-block-image-block-2__button-wrap {
        margin-top: 2.5rem; } }
  @media (max-width: 767px) and (orientation: landscape) {
    .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
        max-height: 400px;
        width: auto; } }

.flo-block-image-links-1 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-image-links-1__link {
    text-align: center; }
  .flo-block-image-links-1__link-image-wrap {
    width: 100%; }
  .flo-block-image-links-1__link-image {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-image-links-1__link-description {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    padding-left: 1.6875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-1 {
      -ms-flex-align: center;
          align-items: center; }
      .flo-block-image-links-1--has-1-image {
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-image-links-1--has-2-images {
        -ms-flex-pack: distribute;
            justify-content: space-around; }
      .flo-block-image-links-1--has-3-images {
        -ms-flex-pack: justify;
            justify-content: space-between; }
      .flo-block-image-links-1__link {
        width: 21.6875rem; }
        .flo-block-image-links-1__link--has-url {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column; }
          .flo-block-image-links-1__link--has-url .flo-block-image-links-1__link-image {
            transition: transform 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-block-image-links-1__link--has-url:hover .flo-block-image-links-1__link-image {
            transform: scale(1.1); }
        .flo-block-image-links-1__link:nth-child(2) {
          width: 13.5rem; }
      .flo-block-image-links-1__link-image-wrap {
        overflow: hidden;
        height: 13.5625rem;
        margin-bottom: 1.25rem; }
      .flo-block-image-links-1__link-description {
        text-align: left; }
      .flo-block-image-links-1__link-subtitle {
        margin-left: 0.9375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-1 {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
      .flo-block-image-links-1__link {
        width: 100%; }
        .flo-block-image-links-1__link:not(:last-child) {
          margin-bottom: 2.1875rem; }
        .flo-block-image-links-1__link--has-url {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column; }
        .flo-block-image-links-1__link:nth-child(2) {
          width: 13.5625rem; }
      .flo-block-image-links-1__link-image-wrap {
        margin-bottom: 0.9375rem; }
      .flo-block-image-links-1__link-subtitle {
        margin-left: 0.3125rem; } }

.flo-block-image-links-2__links-wrap {
  display: -ms-flexbox;
  display: flex; }

.flo-block-image-links-2__image-link {
  position: relative; }

.flo-block-image-links-2__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-image-links-2 .flo-block-image-links-2__image {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-links-2 .flo-block-image-links-2__image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-links-2 .flo-block-image-links-2__image {
    background-image: var(--img-large); } }

.flo-block-image-links-2__image-content {
  width: calc(100% - 1.5rem);
  height: calc(100% - 1.5rem);
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center;
  transition: background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-image-links-2__title {
  margin-bottom: 0.5rem; }

.flo-block-image-links-2__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

@media screen and (min-width: 48em) {
  .flo-block-image-links-2__links-wrap {
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .flo-block-image-links-2__image-link:hover .flo-block-image-links-2__subtitle {
    opacity: 1; }
  .flo-block-image-links-2__title {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-image-links-2__subtitle {
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-links-2__links-wrap {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-image-links-2__image-link {
    width: 100% !important; } }

.flo-block-image-links-3__image-links-slide-content {
  display: -ms-flexbox;
  display: flex; }

.flo-block-image-links-3__title-area {
  text-align: center;
  padding: 1.25rem; }

.flo-block-image-links-3__elements-wrap {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-image-links-3__title {
  display: inline-block;
  margin: 3.3125rem 0; }

.flo-block-image-links-3__navigation-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: 60%;
  margin: 0 auto; }
  .flo-block-image-links-3__navigation-wrap--hide-arrows {
    -ms-flex-pack: center;
        justify-content: center; }
    .flo-block-image-links-3__navigation-wrap--hide-arrows .flo-block-image-links-3__arrow {
      display: none; }

.flo-block-image-links-3__arrow {
  font-size: 0.4375rem;
  transition: transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-block-image-links-3__arrow:hover {
    transform: scale(1.2); }

.flo-block-image-links-3__image-links-counter {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  font-size: 0.4375rem; }

.flo-block-image-links-3__number-divider {
  width: 1px;
  height: 1.875rem;
  margin: 0 1.125rem; }

.flo-block-image-links-3__image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-image-links-3 .flo-block-image-links-3__image {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-links-3 .flo-block-image-links-3__image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-links-3 .flo-block-image-links-3__image {
    background-image: var(--img-large); } }

@media screen and (min-width: 48em) {
  .flo-block-image-links-3__image-links-slide-content--title-area-left {
    -ms-flex-direction: row;
        flex-direction: row; }
    .flo-block-image-links-3__image-links-slide-content--title-area-left .flo-block-image-links-3__image {
      margin-left: 1.875rem; }
  .flo-block-image-links-3__image-links-slide-content--title-area-right {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
    .flo-block-image-links-3__image-links-slide-content--title-area-right .flo-block-image-links-3__image {
      margin-right: 1.875rem; }
  .flo-block-image-links-3__title-area {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    padding-bottom: 5rem; }
  .flo-block-image-links-3__navigation-wrap {
    position: absolute;
    left: 50%;
    bottom: 1.25rem;
    transform: translate(-50%, -1.25rem); }
  .flo-block-image-links-3__image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 35.625rem;
    height: 26.6875rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-links-3__image-links-slide-content--title-area-left {
    -ms-flex-direction: column;
        flex-direction: column; }
    .flo-block-image-links-3__image-links-slide-content--title-area-left .flo-block-image-links-3__title-area {
      margin-bottom: 1.25rem; }
  .flo-block-image-links-3__image-links-slide-content--title-area-right {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
    .flo-block-image-links-3__image-links-slide-content--title-area-right .flo-block-image-links-3__title-area {
      margin-top: 1.25rem; }
  .flo-block-image-links-3__image {
    width: 100%;
    height: 18.75rem; } }

.flo-block-intro-block__image-wrap {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-intro-block .flo-block-intro-block__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-intro-block .flo-block-intro-block__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-intro-block .flo-block-intro-block__image-wrap {
    background-image: var(--img-large); } }

.flo-block-intro-block__image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.flo-block-intro-block__header-area {
  width: 100%; }
  .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
    color: inherit !important;
    border-color: inherit !important;
    background-color: transparent !important; }

@media screen and (min-width: 48em) {
  .flo-block-intro-block__header-area {
    width: 100%; }
    .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-intro-block__title-area {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
  .flo-block-intro-block__title {
    max-width: 30.9375rem;
    margin-bottom: 2.3125rem; }
  .flo-block-intro-block__text {
    padding-left: 2.8125rem;
    max-width: 28.125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-intro-block__header-area {
    width: 100%;
    position: relative;
    z-index: 1; }
    .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-intro-block__title-area {
    position: relative;
    padding: 1.875rem 1.9375rem; }
  .flo-block-intro-block__title {
    margin-bottom: 1.5625rem; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-block-intro-block__title-area {
    padding: 3.3125rem 6.25rem; } }

@media (min-width: 1025px) {
  html:not(.html--style-fixed) .flo-block-intro-block__title-area {
    margin-left: 9.0625rem; } }

.flo-block-item-categories {
  text-align: center; }
  .flo-block-item-categories__title {
    margin-bottom: 1.875rem; }
  .flo-block-item-categories__categories li, .flo-block-item-categories__categories a {
    display: inline-block;
    border: 1px solid;
    border-color: inherit;
    padding: 0.5rem 0.9375rem; }
  @media screen and (min-width: 48em) {
    .flo-block-item-categories__categories li, .flo-block-item-categories__categories a {
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-item-categories__categories li:hover, .flo-block-item-categories__categories a:hover {
        opacity: 0.5; }
      .flo-block-item-categories__categories li:not(:last-child), .flo-block-item-categories__categories a:not(:last-child) {
        position: relative;
        margin-right: 1.4375rem; }
        .flo-block-item-categories__categories li:not(:last-child):after, .flo-block-item-categories__categories a:not(:last-child):after {
          content: " ";
          display: inline-block;
          width: 0.47313rem;
          border-top: 1px solid;
          border-color: inherit;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: calc(100% + 0.4375rem); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-item-categories__categories li, .flo-block-item-categories__categories a {
      margin: 0.625rem; } }

.flo-block-item-pagination-1 {
  border-top: 1px solid;
  border-color: inherit; }
  .flo-block-item-pagination-1__link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 1.875rem; }
  .flo-block-item-pagination-1__top-label {
    margin-bottom: 1rem; }
  .flo-block-item-pagination-1__title {
    text-align: center;
    margin-bottom: 2.1875rem; }
  .flo-block-item-pagination-1__featured-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-item-pagination-1__link-icon {
    font-size: 0.5rem; }
  @media screen and (min-width: 48em) {
    .flo-block-item-pagination-1 {
      display: -ms-flexbox;
      display: flex; }
      .flo-block-item-pagination-1__link {
        width: 50%;
        -ms-flex-positive: 0;
            flex-grow: 0;
        padding-bottom: 1.25rem;
        position: relative; }
        .flo-block-item-pagination-1__link:hover .flo-block-item-pagination-1__top-label {
          opacity: 1; }
        .flo-block-item-pagination-1__link:hover .flo-block-item-pagination-1__featured-image {
          opacity: 1; }
        .flo-block-item-pagination-1__link + .flo-block-item-pagination-1__link {
          border-left: 1px solid;
          border-color: inherit; }
        .flo-block-item-pagination-1__link--prev {
          padding-left: 11.25rem;
          padding-right: 5.625rem; }
          .flo-block-item-pagination-1__link--prev .flo-block-item-pagination-1__featured-image {
            left: 0; }
          .flo-block-item-pagination-1__link--prev .flo-block-item-pagination-1__link-icon {
            animation-name: moving-arrow-prev; }
        .flo-block-item-pagination-1__link--next {
          padding-right: 11.25rem;
          padding-left: 5.625rem; }
          .flo-block-item-pagination-1__link--next .flo-block-item-pagination-1__featured-image {
            right: 0; }
          .flo-block-item-pagination-1__link--next .flo-block-item-pagination-1__link-icon {
            animation-name: moving-arrow-next; }
      .flo-block-item-pagination-1__top-label {
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-item-pagination-1__featured-image {
        position: absolute;
        top: 1.875rem;
        width: 8.4375rem;
        height: 8.4375rem;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-item-pagination-1__link-icon {
        animation-iteration-count: infinite;
        animation-play-state: paused;
        animation-duration: 1.8s;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    @keyframes moving-arrow-next {
      0% {
        transform: translateX(0%); }
      50% {
        transform: translateX(50%); }
      100% {
        transform: translateX(0%); } }
    @keyframes moving-arrow-prev {
      0% {
        transform: translateX(0%); }
      50% {
        transform: translateX(-50%); }
      100% {
        transform: translateX(0%); } }
      .flo-block-item-pagination-1__spacer {
        width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-item-pagination-1__link--prev {
      margin-bottom: 1.25rem; }
    .flo-block-item-pagination-1__featured-image {
      width: 9.375rem;
      height: 9.375rem;
      margin-bottom: 1.25rem; } }

.flo-block-item-tags {
  text-align: center; }
  .flo-block-item-tags__title {
    margin-bottom: 1.875rem; }
  .flo-block-item-tags__tags a {
    display: inline-block;
    border: 1px solid;
    border-color: inherit;
    padding: 0.5rem 0.9375rem; }
  @media screen and (min-width: 48em) {
    .flo-block-item-tags__tags a {
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-item-tags__tags a:hover {
        opacity: 0.5; }
      .flo-block-item-tags__tags a:not(:last-child) {
        position: relative;
        margin-right: 1.4375rem; }
        .flo-block-item-tags__tags a:not(:last-child):after {
          content: " ";
          display: inline-block;
          width: 0.47313rem;
          border-top: 1px solid;
          border-color: inherit;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: calc(100% + 0.4375rem); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-item-tags__tags a {
      margin: 0.625rem; } }

.flo-block-item-title-1__title-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }

.flo-block-item-title-1__title {
  margin-bottom: 0.75rem; }

.flo-block-item-title-1__category a:not(:last-child):after {
  content: ", "; }

.flo-block-item-title-1__social-links-wrap a {
  font-size: 0.75rem; }
  .flo-block-item-title-1__social-links-wrap a:not(:first-child) {
    margin-left: 0.75rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-title-1 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .flo-block-item-title-1__back-button-wrap {
      width: 20%; }
    .flo-block-item-title-1__social-links-wrap {
      width: 20%;
      text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-title-1 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    margin-bottom: 1.25rem; }
    .flo-block-item-title-1__back-button-wrap {
      margin-bottom: 1.25rem; }
    .flo-block-item-title-1__title-wrap {
      margin-bottom: 1.25rem; } }

.flo-block-item-title-2__featured-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-item-title-2__text-area {
  position: relative;
  text-align: center; }

.flo-block-item-title-2__decorative-image {
  margin-bottom: 0.9375rem; }

.flo-block-item-title-2__title:not(:last-child) {
  margin-bottom: 0.3125rem; }

.flo-block-item-title-2__date-and-category {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  text-align: center;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-item-title-2__category a:not(:last-child):after {
  content: ", "; }

@media screen and (min-width: 48em) {
  .flo-block-item-title-2 {
    position: relative; }
    .flo-block-item-title-2--display-featured-image {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: end;
          justify-content: flex-end;
      min-height: 31.25rem; }
      .flo-block-item-title-2--display-featured-image .flo-block-item-title-2__text-area {
        width: calc(100% - 11.25rem);
        margin: 0 auto; }
    .flo-block-item-title-2__featured-image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: calc(100% - 2.8125rem); }
    .flo-block-item-title-2__text-area {
      padding: 1.9375rem 1.25rem; }
    .flo-block-item-title-2__separator {
      width: 1px;
      height: 0.625rem;
      margin: 0 0.625rem;
      border-left: 1px solid; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-title-2__featured-image {
    height: 18.75rem;
    margin: 0; }
  .flo-block-item-title-2__text-area {
    padding: 1.875rem;
    padding-bottom: 0; }
  .flo-block-item-title-2__date-and-category {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-item-title-2__separator {
    height: 1px;
    width: 0.625rem;
    margin: 0.625rem 0;
    border-bottom: 1px solid; } }

.flo-block-item-title-3 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }
  .flo-block-item-title-3__header-area {
    width: 100%; }
    .flo-block-item-title-3__header-area .flo-header-mobile.not-sticky,
    .flo-block-item-title-3__header-area .flo-header.is-not-sticky {
      background-color: transparent !important;
      color: inherit !important;
      border-color: inherit !important; }
  .flo-block-item-title-3__featured-image {
    display: inline-block; }
    .flo-block-item-title-3__featured-image--img-landscape {
      max-width: calc(100% - 24rem); }
    .flo-block-item-title-3__featured-image--img-portrait {
      margin: 0 auto;
      max-width: 100%;
      max-height: 80vh; }
    .flo-block-item-title-3__featured-image--bgi {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
    .flo-block-item-title-3__featured-image--below {
      -ms-flex-order: 1;
          order: 1; }
  .flo-block-item-title-3__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-item-title-3__text-area-wrap {
    position: relative;
    text-align: left;
    width: 100%; }
  .flo-block-item-title-3__date-and-category {
    margin-bottom: 1.1875rem; }
  .flo-block-item-title-3__category {
    display: inline-block; }
    .flo-block-item-title-3__category a:not(:last-child):after {
      content: ", "; }
  .flo-block-item-title-3__title {
    margin-bottom: 2.125rem; }
  @media screen and (min-width: 48em) {
    .flo-block-item-title-3--featured-image-position-bg .flo-block-item-title-3__text-area-wrap {
      padding-top: 10.25rem;
      padding-bottom: 8.25rem; }
    .flo-block-item-title-3__featured-image--above {
      margin-bottom: 2.5rem; }
    .flo-block-item-title-3__featured-image--below {
      margin-top: 6.5rem; }
    .flo-block-item-title-3__text-area-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    .flo-block-item-title-3__text-area {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-item-title-3__featured-image--below {
      padding-top: 2.5rem; }
    .flo-block-item-title-3__text-area-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 3.75rem 1.9375rem 0 1.9375rem;
      text-align: center; }
    .flo-block-item-title-3__text-area {
      margin-top: 2.5rem;
      -ms-flex-order: 1;
          order: 1; } }

@media (min-width: 768px) {
  html:not(.html--style-fixed) .flo-block-item-title-3-block .flo-block-item-title-3--featured-image-position-bg .flo-block-item-title-3__text-area-wrap {
    padding-left: 9.0625rem;
    padding-right: 9.0625rem; } }

@media screen and (min-width: 48em) {
  .flo-block-item-vendors-2 {
    padding: 0 5.625rem; }
    .flo-block-item-vendors-2__links {
      padding: 4.01375rem 5.625rem;
      text-align: center; }
    .flo-block-item-vendors-2__link {
      margin-bottom: 0.1875rem;
      margin-right: 0.9375rem;
      display: inline-block; }
    .flo-block-item-vendors-2__link-pretitle {
      margin: 0.25rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-vendors-2__links {
    padding: 1.25rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-item-vendors-2__link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
    .flo-block-item-vendors-2__link:not(:last-child) {
      padding-bottom: 0.625rem; } }

.flo-block-item-vendors__links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.flo-block-item-vendors__link {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-bottom: 0.1875rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-vendors {
    display: -ms-flexbox;
    display: flex;
    padding: 1.5625rem 0; }
    .flo-block-item-vendors__title {
      width: 16.875rem;
      padding-right: 5.625rem;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-block-item-vendors__links {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-block-item-vendors__link {
      width: calc(100% / 3);
      padding-right: 2.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-vendors__title {
    text-align: center;
    margin-bottom: 1.25rem; }
  .flo-block-item-vendors__link {
    width: 100%;
    padding: 0 1.25rem;
    text-align: center; } }

.flo-block-listing-1__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  width: 100%; }

.flo-block-listing-1__decorative-image {
  margin-bottom: 1.8125rem; }

.flo-block-listing-1__title {
  text-align: center;
  margin-bottom: 0.625rem; }

.flo-block-listing-1__date-and-category {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin-bottom: 1.25rem; }

.flo-block-listing-1__category {
  text-align: center; }

.flo-block-listing-1__date {
  text-align: center; }

.flo-block-listing-1__featured-image {
  width: auto;
  height: auto; }

.flo-block-listing-1__excerpt {
  margin-top: 2.0625rem; }

.flo-block-listing-1__content {
  margin-bottom: 4.125rem; }

.flo-block-listing-1__item-link {
  text-align: center;
  padding: 0.6875rem 2.1875rem;
  border: 1px solid;
  border-color: inherit; }

@media screen and (min-width: 48em) {
  .flo-block-listing-1__item {
    padding: 0 5.625rem; }
  .flo-block-listing-1__item:not(:first-child) {
    padding-top: 5rem; }
  .flo-block-listing-1__separator {
    width: 1px;
    height: 0.625rem;
    margin: 0 0.625rem;
    border-left: 1px solid; }
  .flo-block-listing-1__featured-image {
    max-height: 34.125rem; }
  .flo-block-listing-1__item-link {
    margin-top: 1.25rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-1__item {
    padding-top: 2.5rem; }
  .flo-block-listing-1__date-and-category {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-listing-1__separator {
    height: 1px;
    width: 1.25rem;
    margin: 0.625rem 0;
    border-bottom: 1px solid; }
  .flo-block-listing-1__item-link {
    margin-top: 1.25rem; } }

@media screen and (min-width: 48em) {
  .body_has_sidebar .flo-block-listing-1__item {
    padding-left: 0;
    padding-right: 0; }
  .body_has_sidebar .flo-block-listing-1__featured-image {
    max-height: none; } }

.flo-block-listing-2__item {
  display: block; }

.flo-block-listing-2__featured-image {
  display: block;
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-2__featured-image-bg {
  position: relative;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-2 .flo-block-listing-2__featured-image-bg {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-listing-2 .flo-block-listing-2__featured-image-bg {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-listing-2 .flo-block-listing-2__featured-image-bg {
    background-image: var(--img-large); } }

.flo-block-listing-2__text-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center;
  position: relative;
  margin-bottom: 1.5625rem; }

.flo-block-listing-2__decorative-image {
  margin-bottom: 0.625rem; }

.flo-block-listing-2__title {
  position: relative;
  display: block;
  margin-bottom: 0.625rem; }

.flo-block-listing-2__date-and-category-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-listing-2__category {
  position: relative;
  display: inline-block; }

.flo-block-listing-2__date {
  display: inline-block;
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-listing-2__item {
    position: relative;
    margin-bottom: 7.4375rem; }
    .flo-block-listing-2__item:last-child {
      margin-bottom: 2.5rem; }
    .flo-block-listing-2__item--has-featured-image {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center; }
      .flo-block-listing-2__item--has-featured-image .flo-block-listing-2__text-area {
        position: absolute;
        bottom: -2.5rem;
        width: calc(100% - 5.625rem); }
    .flo-block-listing-2__item:hover .flo-block-listing-2__text-area {
      margin-bottom: 0.9375rem; }
    .flo-block-listing-2__item:hover .flo-block-listing-2__hover-line {
      width: 100%; }
  .flo-block-listing-2__featured-image-bg {
    left: 0;
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-listing-2__text-area {
    position: relative;
    margin: 0 auto;
    padding: 1.5625rem;
    transition: border-color 0.5s, margin-bottom 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-2__separator {
    width: 1px;
    height: 0.625rem;
    margin: 0 0.625rem;
    border-left: 1px solid; }
  .flo-block-listing-2__hover-line {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0;
    transition: width 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-2__item {
    margin-bottom: 3.75rem; }
  .flo-block-listing-2__featured-image {
    height: auto; }
  .flo-block-listing-2__featured-image-bg {
    height: 18.75rem;
    display: block; }
  .flo-block-listing-2__text-area {
    padding: 1.25rem; }
  .flo-block-listing-2__title-and-category {
    padding-top: 0; }
  .flo-block-listing-2__date-and-category-wrap {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-listing-2__separator {
    height: 1px;
    width: 1.25rem;
    margin: 0.9375rem 0;
    border-bottom: 1px solid; } }

@media screen and (min-width: 48em) {
  .body_has_sidebar .flo-block-listing-2 {
    padding: 0; }
    .body_has_sidebar .flo-block-listing-2__featured-image-bg {
      height: 38.5rem; } }

.flo-block-listing-3__featured-image {
  display: block;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-3 .flo-block-listing-3__featured-image {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-listing-3 .flo-block-listing-3__featured-image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-listing-3 .flo-block-listing-3__featured-image {
    background-image: var(--img-large); } }

.flo-block-listing-3__text-area {
  display: block; }

.flo-block-listing-3__decorative-image {
  display: block;
  margin-bottom: 1.25rem;
  max-height: 6.25rem; }

.flo-block-listing-3__title {
  display: block; }

.flo-block-listing-3__category {
  display: block;
  margin-top: 0.3125rem; }

.flo-block-listing-3__excerpt {
  display: block;
  margin-top: 1.8125rem; }

.flo-block-listing-3__button {
  display: inline-block;
  padding: 0.6875rem 1.875rem;
  border: 1px solid;
  border-color: inherit;
  margin-top: 2.1875rem; }

@media screen and (min-width: 48em) {
  .flo-block-listing-3__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .flo-block-listing-3__item:nth-child(even) {
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
    .flo-block-listing-3__item:not(.flo-block-listing-3__item--has-featured-image) .flo-block-listing-3__text-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      text-align: center;
      margin: 0 auto; }
  .flo-block-listing-3__featured-image {
    width: 50%;
    margin-bottom: 1.25rem;
    height: 25.25rem;
    margin-bottom: 0; }
  .flo-block-listing-3__text-area {
    width: 50%;
    padding: 0 5.625rem; }
  .flo-block-listing-3__button {
    transition: color 0.5s, background-color 0.5s, border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-3__item {
    display: block;
    margin-bottom: 1.875rem; }
  .flo-block-listing-3__featured-image {
    height: 12.5rem;
    margin-bottom: 1.875rem; }
  .flo-block-listing-3__text-area {
    text-align: center;
    padding: 1.5625rem; }
  .flo-block-listing-3__decorative-image {
    display: inline-block; } }

.flo-block-listing-4__item {
  position: relative;
  display: block; }

.flo-block-listing-4__featured-image {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-4__overlay {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 2.25rem);
  height: calc(100% - 2.25rem); }

.flo-block-listing-4__decorative-image {
  display: inline-block;
  max-height: 3.3125rem;
  width: auto;
  margin-bottom: 1.125rem; }

.flo-block-listing-4__title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center; }

.flo-block-listing-4__category {
  display: block;
  margin-top: 1.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-listing-4 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flo-block-listing-4__item {
      overflow: hidden; }
      .flo-block-listing-4__item--has-featured-image .flo-block-listing-4__overlay {
        transform: translate(-50%, 0);
        bottom: 100%;
        top: auto;
        transition: transform 0.5s, bottom 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-listing-4__item--has-featured-image:hover .flo-block-listing-4__overlay {
        transform: translate(-50%, 50%);
        bottom: 50%; }
      .flo-block-listing-4__item:not(.flo-block-listing-4__item--has-featured-image) .flo-block-listing-4__overlay {
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-block-listing-4__item:not(.flo-block-listing-4__item--has-featured-image) .flo-block-listing-4__overlay:hover {
          transform: translate(-50%, -50%) scale(1.1); }
    .flo-block-listing-4__overlay {
      padding: 1.75rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-4__item {
    height: 21.875rem;
    margin-bottom: 1.875rem; }
  .flo-block-listing-4__overlay {
    padding: 1.25rem; } }

.flo-block-listing-5__item {
  position: relative;
  display: block; }

.flo-block-listing-5__featured-image-wrap {
  display: block;
  position: relative;
  margin-bottom: 1.5625rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-5__featured-image--bgi {
  display: block;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-5__overlay {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-5__overlay-color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.flo-block-listing-5__decorative-image {
  position: relative;
  max-width: 5rem; }
  .flo-block-listing-5__decorative-image:not(:last-child) {
    margin-bottom: 0.625rem; }

.flo-block-listing-5__separator {
  position: relative;
  display: block;
  margin: 1rem auto;
  width: 2.46875rem;
  border-top: 1px solid; }

.flo-block-listing-5__overlay-label {
  position: relative; }

.flo-block-listing-5__text-area {
  display: block;
  text-align: center;
  margin-bottom: 1.25rem; }

.flo-block-listing-5__title {
  display: block;
  margin-bottom: 0.625rem; }

.flo-block-listing-5__category {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-block-listing-5 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flo-block-listing-5__item--has-featured-image .flo-block-listing-5__overlay {
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-5__item--has-featured-image .flo-block-listing-5__overlay-color {
      opacity: var(--overlay-opacity); }
    .flo-block-listing-5__item--has-featured-image .flo-block-listing-5__featured-image {
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-5__item--has-featured-image:hover .flo-block-listing-5__overlay {
      opacity: 1; }
    .flo-block-listing-5__item--has-featured-image:hover .flo-block-listing-5__featured-image {
      transform: scale(1.1); }
    .flo-block-listing-5__item:not(.flo-block-listing-5__item--has-featured-image) {
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-listing-5__item:not(.flo-block-listing-5__item--has-featured-image):hover {
        opacity: 0.8; }
    .flo-block-listing-5__featured-image-wrap {
      overflow: hidden; }
      .flo-block-listing-5__featured-image-wrap > img {
        width: 100%; }
    .flo-block-listing-5__overlay {
      padding: 1.75rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-5:not(.flo-block-listing-5--masonry) .flo-block-listing-5__featured-image {
    height: var(--mobile-height); }
  .flo-block-listing-5__item {
    margin-bottom: 3.75rem; }
  .flo-block-listing-5__featured-image {
    width: 100%; }
  .flo-block-listing-5__overlay {
    padding: 1.25rem;
    display: none; } }

.flo-block-listing-pagination {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .flo-block-listing-pagination--hidden-numbers {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .flo-block-listing-pagination__navigation i {
    font-size: 0.40625rem; }
  .flo-block-listing-pagination__page-number {
    margin-right: 1.875rem;
    height: 1.4375rem;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-listing-pagination__page-number:after {
      content: " ";
      background-color: #000;
      width: 100%;
      height: 1px;
      display: inline-block;
      position: absolute;
      bottom: 0;
      left: 0;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-pagination__page-number:hover:after {
      opacity: 1; }
    .flo-block-listing-pagination__page-number--active:after {
      opacity: 1; }
    .flo-block-listing-pagination__page-number:last-child {
      margin-right: 0; }
  .flo-block-listing-pagination__page-dots {
    margin-right: 1.875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-listing-pagination {
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .flo-block-listing-pagination__navigation--previous i {
        margin-right: 1.375rem; }
      .flo-block-listing-pagination__navigation--next i {
        margin-left: 1.375rem; }
      .flo-block-listing-pagination__spacer {
        -ms-flex: 0 1 10%;
            flex: 0 1 10%; }
      .flo-block-listing-pagination__page-links {
        text-align: center; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-listing-pagination {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-listing-pagination__navigation {
        display: -ms-flexbox;
        display: flex; }
        .flo-block-listing-pagination__navigation--previous {
          margin-bottom: 1.875rem; }
          .flo-block-listing-pagination__navigation--previous i {
            margin-right: 0.6875rem; }
        .flo-block-listing-pagination__navigation--next {
          margin-top: 1.875rem; }
          .flo-block-listing-pagination__navigation--next i {
            margin-left: 0.6875rem; } }

.flo-block-mosaic-image-links-1__images-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-mosaic-image-links-1__left-side-images-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.flo-block-mosaic-image-links-1__left-side-image {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 0.625rem; }

.flo-block-mosaic-image-links-1__image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.flo-block-mosaic-image-links-1__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-mosaic-image-links-1 .flo-block-mosaic-image-links-1__image {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-mosaic-image-links-1 .flo-block-mosaic-image-links-1__image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-mosaic-image-links-1 .flo-block-mosaic-image-links-1__image {
    background-image: var(--img-large); } }

.flo-block-mosaic-image-links-1__left-side-image-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center; }

.flo-block-mosaic-image-links-1__right-side-images-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.flo-block-mosaic-image-links-1__right-side-image {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 0.625rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-mosaic-image-links-1 .flo-block-mosaic-image-links-1__right-side-image {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-mosaic-image-links-1 .flo-block-mosaic-image-links-1__right-side-image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-mosaic-image-links-1 .flo-block-mosaic-image-links-1__right-side-image {
    background-image: var(--img-large); } }

.flo-block-mosaic-image-links-1__right-side-image-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-mosaic-image-links-1__title-area {
    margin-bottom: 3.75rem;
    text-align: center; }
  .flo-block-mosaic-image-links-1__left-side-images-area {
    width: 50%;
    margin-right: 1.125rem; }
  .flo-block-mosaic-image-links-1__left-side-image {
    overflow: hidden;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    /* START: HOVER ANIMATION */
    /* END: HOVER ANIMATION */ }
    .flo-block-mosaic-image-links-1__left-side-image:first-child {
      margin-right: 1.125rem; }
    .flo-block-mosaic-image-links-1__left-side-image:last-child {
      margin-top: 1.125rem;
      width: 100%;
      height: 20.3125rem; }
    .flo-block-mosaic-image-links-1__left-side-image:not(:last-child) {
      width: calc(50% - 0.5625rem);
      height: 10.25rem; }
    .flo-block-mosaic-image-links-1__left-side-image:hover {
      transform: scale(0.97); }
      .flo-block-mosaic-image-links-1__left-side-image:hover .flo-block-mosaic-image-links-1__image {
        transform: scale(1.1); }
  .flo-block-mosaic-image-links-1__image {
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-mosaic-image-links-1__left-side-image-link {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  .flo-block-mosaic-image-links-1__right-side-images-area {
    width: 50%; }
  .flo-block-mosaic-image-links-1__right-side-image {
    overflow: hidden;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    /* START: HOVER ANIMATION */
    /* END: HOVER ANIMATION */ }
    .flo-block-mosaic-image-links-1__right-side-image:first-child {
      width: 100%;
      height: 20.3125rem;
      margin-bottom: 1.125rem; }
    .flo-block-mosaic-image-links-1__right-side-image:last-child {
      margin-left: 1.125rem; }
    .flo-block-mosaic-image-links-1__right-side-image:not(:first-child) {
      width: calc(50% - 0.5625rem);
      height: 10.25rem; }
    .flo-block-mosaic-image-links-1__right-side-image:hover {
      transform: scale(0.97); }
      .flo-block-mosaic-image-links-1__right-side-image:hover .flo-block-mosaic-image-links-1__image {
        transform: scale(1.1); }
  .flo-block-mosaic-image-links-1__image {
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-mosaic-image-links-1__right-side-image-link {
    -webkit-backface-visibility: hidden; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-mosaic-image-links-1__title-area {
    text-align: center;
    margin-bottom: 2.5rem; }
  .flo-block-mosaic-image-links-1__images-area {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-mosaic-image-links-1__left-side-image:last-child {
    width: 100%;
    height: 12.5rem; }
  .flo-block-mosaic-image-links-1__left-side-image:not(:last-child) {
    height: 9.375rem; }
  .flo-block-mosaic-image-links-1__right-side-image:first-child {
    width: 100%;
    height: 12.5rem; }
  .flo-block-mosaic-image-links-1__right-side-image:not(:first-child) {
    height: 9.375rem; } }

.flo-block-newsletter-block-1 {
  /* START: IMAGE FEED */
  /* END: IMAGE FEED */ }
  .flo-block-newsletter-block-1__title {
    margin-bottom: 1.25rem; }
  .flo-block-newsletter-block-1__subtitle {
    margin-bottom: 2.5rem; }
  .flo-block-newsletter-block-1__form-field {
    padding-bottom: 0.625rem !important;
    border: 0 !important;
    border-bottom: 1px solid !important;
    border-color: inherit !important;
    margin-bottom: 2.375rem !important; }
  .flo-block-newsletter-block-1__submit-button {
    border: 1px solid;
    border-color: inherit;
    padding: 0.75rem 2.1875rem;
    text-overflow: ellipsis; }
  .flo-block-newsletter-block-1__images .img-block a {
    display: block; }
  .flo-block-newsletter-block-1__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-block-newsletter-block-1__images,
    .flo-block-newsletter-block-1__images .flo-shcode-instgm-container {
      display: -ms-flexbox;
      display: flex; }
    .flo-block-newsletter-block-1__image {
      width: calc(48% - 3.7vw);
      height: auto; }
    .flo-block-newsletter-block-1 .img-block {
      width: calc(48% - 3.7vw) !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-newsletter-block-1__image {
      width: 100%;
      height: 18.75rem;
      margin-bottom: 1.25rem; }
    .flo-block-newsletter-block-1 .img-block {
      margin-bottom: 1.25rem;
      text-align: center;
      width: 100% !important; } }
  .flo-block-newsletter-block-1__instagram-icon {
    font-size: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .flo-block-newsletter-block-1 {
      position: relative;
      padding: 5.4375rem 6.25rem; }
      .flo-block-newsletter-block-1__newsletter-main-wrap {
        display: -ms-flexbox;
        display: flex; }
      .flo-block-newsletter-block-1__form-area {
        padding: 8%;
        padding-right: 0;
        width: 35%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-newsletter-block-1__form-field {
        height: auto !important; }
      .flo-block-newsletter-block-1__images-area {
        position: relative;
        width: 65%;
        top: auto;
        right: auto;
        margin-top: -5.4375rem; }
      .flo-block-newsletter-block-1__subtitle {
        padding-right: 5.625rem; }
      .flo-block-newsletter-block-1__instagram-icon {
        position: absolute;
        right: 31%;
        top: 2.71875rem;
        transform: translate(50%, -50%); }
      .flo-block-newsletter-block-1__images,
      .flo-block-newsletter-block-1__images .flo-shcode-instgm-container {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-align: start;
            align-items: flex-start; }
      .flo-block-newsletter-block-1__image:nth-child(1), .flo-block-newsletter-block-1__image:nth-child(2),
      .flo-block-newsletter-block-1 .img-block:nth-child(1),
      .flo-block-newsletter-block-1 .img-block:nth-child(2) {
        margin-bottom: 2.8125rem; }
      .flo-block-newsletter-block-1__image:nth-child(1), .flo-block-newsletter-block-1__image:nth-child(3),
      .flo-block-newsletter-block-1 .img-block:nth-child(1),
      .flo-block-newsletter-block-1 .img-block:nth-child(3) {
        margin-right: 2.8125rem; }
      .flo-block-newsletter-block-1__image:nth-child(2), .flo-block-newsletter-block-1__image:nth-child(4),
      .flo-block-newsletter-block-1 .img-block:nth-child(2),
      .flo-block-newsletter-block-1 .img-block:nth-child(4) {
        transform: translateY(5.4375rem); }
      .flo-block-newsletter-block-1__bottom-link {
        position: absolute;
        left: 8.4375rem;
        top: calc(100% + 2.71875rem);
        transform: translate(-50%, 0%);
        text-align: center; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-newsletter-block-1 {
      padding: 0 1.9375rem;
      text-align: center; }
      .flo-block-newsletter-block-1__form-area {
        padding: 2.5rem 1.25rem;
        margin-bottom: 1.875rem; }
      .flo-block-newsletter-block-1__form-field {
        text-align: center !important; }
      .flo-block-newsletter-block-1__images-area {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: stretch;
            align-items: stretch; }
      .flo-block-newsletter-block-1__instagram-icon {
        margin-bottom: 1.875rem; }
      .flo-block-newsletter-block-1__images {
        -ms-flex-order: 1;
            order: 1; }
      .flo-block-newsletter-block-1__image,
      .flo-block-newsletter-block-1 .img-block {
        width: calc((100vw - 3.875rem) / 2 - 1.25rem / 2) !important; }
        .flo-block-newsletter-block-1__image:nth-child(2n),
        .flo-block-newsletter-block-1 .img-block:nth-child(2n) {
          margin-left: 0.875rem; }
      .flo-block-newsletter-block-1__image {
        height: calc((100vw - 3.875rem) / 2 - 1.25rem / 2); }
      .flo-block-newsletter-block-1__bottom-link {
        margin-bottom: 1.25rem; } }

.flo-block-newsletter-block-2__title-area {
  text-align: center; }

.flo-block-newsletter-block-2__newsletter-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-newsletter-block-2__newsletter-area-form-field {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid;
  text-align: center;
  border-color: inherit !important;
  padding: 0.625rem !important; }

.flo-block-newsletter-block-2__newsletter-area-form-submit {
  padding: 0.75rem 2.1875rem;
  border: 1px solid;
  border-color: inherit;
  text-overflow: ellipsis;
  transition: background-color 0.5s, border-color 0.5s, color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-newsletter-block-2 {
    padding: 3.75rem 0; }
    .flo-block-newsletter-block-2__newsletter-area {
      -ms-flex-align: center;
          align-items: center; }
      .flo-block-newsletter-block-2__newsletter-area:not(:first-child) {
        margin-top: 3rem; }
    .flo-block-newsletter-block-2__text {
      text-align: center;
      padding: 0 0.625rem;
      width: calc(100% / 3);
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-block-newsletter-block-2__newsletter {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-block-newsletter-block-2__newsletter-area-form {
      display: -ms-flexbox;
      display: flex; }
    .flo-block-newsletter-block-2__newsletter-area-form-field {
      width: calc(100% / 2); }
    .flo-block-newsletter-block-2__newsletter-area-form-submit {
      margin: 0 auto;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-newsletter-block-2 {
    padding: 1.875rem 1.25rem; }
    .flo-block-newsletter-block-2__newsletter-area {
      text-align: center;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-newsletter-block-2__newsletter-area:not(:first-child) {
        margin-top: 1.875rem; }
    .flo-block-newsletter-block-2__newsletter:not(:first-child) {
      margin-top: 1.25rem; }
    .flo-block-newsletter-block-2__newsletter-area-form {
      -ms-flex-direction: column;
          flex-direction: column; }
    .flo-block-newsletter-block-2__newsletter-area-form-submit {
      margin-top: 1.25rem; } }

.flo-block-pricing-packages__title-area {
  text-align: center; }

.flo-block-pricing-packages__packages-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-pricing-packages__package {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 29.6875rem;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end; }

.flo-block-pricing-packages__package-content {
  padding: 2.5rem 2.4375rem;
  text-align: center;
  height: 100%; }

.flo-block-pricing-packages__image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%; }

.flo-block-pricing-packages__package-title {
  position: relative; }

.flo-block-pricing-packages__package-description {
  position: relative;
  box-sizing: border-box;
  height: 8.625rem; }

.flo-block-pricing-packages__package-price {
  position: relative; }

.flo-block-pricing-packages__package-block-button-wrap {
  text-align: center; }

.flo-block-pricing-packages__package-block-button {
  display: inline-block;
  padding: 0.75rem 3.125rem;
  border: 1px solid;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-pricing-packages__title-area {
    margin-bottom: 3.875rem; }
  .flo-block-pricing-packages__packages-area {
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .flo-block-pricing-packages__packages-area--3-packages {
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .flo-block-pricing-packages__package {
    width: calc(100% / 3 - 1.375rem); }
    .flo-block-pricing-packages__package:not(:hover) .flo-block-pricing-packages__package-description {
      height: 0 !important; }
    .flo-block-pricing-packages__package:not(:hover) .flo-block-pricing-packages__package-number {
      opacity: 0; }
    .flo-block-pricing-packages__package:not(:hover) .flo-block-pricing-packages__package-title {
      color: var(--elements-on-image-color); }
    .flo-block-pricing-packages__package:not(:hover) .flo-block-pricing-packages__package-price {
      color: var(--elements-on-image-color); }
    .flo-block-pricing-packages__package:hover .flo-block-pricing-packages__package-title {
      margin-bottom: 1.875rem; }
    .flo-block-pricing-packages__package:hover .flo-block-pricing-packages__image-overlay {
      width: 100%;
      opacity: 1; }
  .flo-block-pricing-packages__package-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    color: var(--elements-on-hover-color); }
  .flo-block-pricing-packages__image-overlay {
    width: 50%;
    opacity: 0;
    transition: width 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-pricing-packages__package-description {
    overflow: hidden;
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-pricing-packages__package-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-pricing-packages__package-block-button-wrap {
    margin-top: 3.9375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-pricing-packages__title-area {
    margin: 1.875rem 0; }
  .flo-block-pricing-packages__packages-area {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-pricing-packages__package:not(:last-child) {
    margin-bottom: 1.375rem; }
  .flo-block-pricing-packages__package-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    color: var(--elements-on-hover-color); }
  .flo-block-pricing-packages__image-overlay {
    width: 100%; }
  .flo-block-pricing-packages__package-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-pricing-packages__package-block-button-wrap {
    margin-top: 2.5rem; } }

.flo-block-related-items__title {
  position: relative;
  text-align: center;
  margin-bottom: 3.4375rem; }

.flo-block-related-items__item {
  display: block; }

.flo-block-related-items__item-featured-image {
  display: block;
  height: 12.5rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-related-items__item-text-area {
  display: block;
  padding: 1.5rem 1.25rem;
  text-align: center; }

.flo-block-related-items__item-title {
  display: block;
  margin-bottom: 0.3125rem; }

.flo-block-related-items__item-category {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-block-related-items__items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    margin: 0 -1.40625rem; }
  .flo-block-related-items__item {
    width: 18.75rem;
    margin: 0 1.40625rem;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-related-items__item:hover {
      transform: scale(1.05); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-related-items__item {
    width: 100%;
    margin-bottom: 1.25rem; } }

.flo-block-share-links {
  text-align: center; }
  .flo-block-share-links__title {
    margin-bottom: 1.6875rem; }
  .flo-block-share-links__share-links a {
    font-size: 0.75rem;
    margin: 0 0.34375rem; }

.flo-block-slideshow-1__content-wrap {
  overflow: hidden;
  pointer-events: none;
  transition: background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-slideshow-1__header-area {
  pointer-events: auto; }
  .flo-block-slideshow-1__header-area header:not(.is-sticky) .flo-header {
    color: inherit;
    border-color: inherit !important;
    background-color: transparent !important; }

.flo-block-slideshow-1__title-area {
  text-align: center;
  transition: color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-slideshow-1__bottom-area {
  text-align: center;
  width: 100%;
  padding: 1.375rem;
  transition: color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-slideshow-1__navigation {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }

.flo-block-slideshow-1__arrow {
  font-size: 0.5625rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }

.flo-block-slideshow-1__counter {
  display: none; }

.flo-block-slideshow-1__counter-separator {
  margin: 0 0.375rem; }
  .flo-block-slideshow-1__counter-separator:before, .flo-block-slideshow-1__counter-separator:after {
    content: " - "; }

@media screen and (min-width: 48em) {
  .flo-block-slideshow-1__content-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .flo-block-slideshow-1__header-area {
    width: 100%; }
  .flo-block-slideshow-1__title-area {
    width: 22.5rem; }
  .flo-block-slideshow-1__text:not(:first-child) {
    margin-top: 1.5rem; }
  .flo-block-slideshow-1__bottom-area {
    width: calc(100% - 18.125rem); }
  .flo-block-slideshow-1__navigation {
    padding: 0 2.5rem; }
  .flo-block-slideshow-1__arrow {
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__arrow:hover {
      transform: scale(1.1); } }

@media screen and (max-width: 47.9375em) {
  .flo-block[data-onready="flo_block_slideshow_1"] {
    padding: 0;
    z-index: 1; }
  .flo-block-slideshow-1 .flo-hero-video-embed__button {
    top: 20vh; }
  .flo-block-slideshow-1__content-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-pack: justify;
        justify-content: space-between;
    overflow: visible; }
  .flo-block-slideshow-1__header-area {
    margin-bottom: 5rem; }
    .flo-block-slideshow-1__header-area .flo-header-mobile.not-sticky {
      background-color: transparent; }
  .flo-block-slideshow-1__title-area {
    padding: 0 3.4375rem;
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%); }
  .flo-block-slideshow-1__navigation {
    padding: 0 0.625rem; } }

.flo-block-slideshow-2__arrow {
  font-size: 0.75rem; }

@media screen and (min-width: 48em) {
  .flo-block-slideshow-2__navigation {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    padding-top: 2.4375rem; }
  .flo-block-slideshow-2__arrow,
  .flo-block-slideshow-2__dots li {
    font-size: 0.4375rem; }
  .flo-block-slideshow-2__arrow {
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-slideshow-2__arrow:hover {
      transform: scale(1.1); }
    .flo-block-slideshow-2__arrow--prev {
      margin-right: 1.5rem; }
    .flo-block-slideshow-2__arrow--next {
      margin-left: 1.5rem; }
  .flo-block-slideshow-2__dots ul {
    display: -ms-flexbox !important;
    display: flex !important; }
  .flo-block-slideshow-2__dots li:not(:last-child) {
    margin-right: 1.5rem; }
  .flo-block-slideshow-2__dots li button {
    font-family: inherit; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-slideshow-2__height-auto img {
    margin: 0 !important; }
  .flo-block-slideshow-2__navigation {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    width: 100%; }
  .flo-block-slideshow-2__arrow, .flo-block-slideshow-2__dots {
    padding: 1.25rem 0; }
  .flo-block-slideshow-2__dots ul {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-slideshow-2__dots li {
    margin: 0 0.3125rem; } }

.flo-block-testimonials-1 {
  position: relative; }
  .flo-block-testimonials-1__testimonials-slider {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-testimonials-1__testimonial-slide-content {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-testimonials-1__testimonial-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 16.875rem; }
  .flo-block-testimonials-1__testimonial-text-area {
    text-align: center; }
  .flo-block-testimonials-1__decorative-letter {
    margin-bottom: 0.9375rem; }
  .flo-block-testimonials-1__text {
    margin-bottom: 2.25rem; }
    .flo-block-testimonials-1__text p:last-child {
      margin-bottom: 0; }
  .flo-block-testimonials-1__testimonial-counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    width: 6.25rem;
    margin: 0 auto; }
  .flo-block-testimonials-1__current-item-number {
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .flo-block-testimonials-1__number-divider {
    height: 1px;
    width: 6.25rem;
    margin: 0.3125rem 0; }
  .flo-block-testimonials-1__total-item-number {
    -ms-flex-item-align: end;
        align-self: flex-end; }
  .flo-block-testimonials-1__arrows--hide-arrows {
    display: none !important; }
  .flo-block-testimonials-1__arrow {
    font-size: 0.4375rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    animation-play-state: paused;
    animation-name: lovely-arrow;
    animation-iteration-count: infinite;
    animation-duration: 1.8s; }
    .flo-block-testimonials-1__arrow:hover {
      animation-play-state: running; }

@keyframes lovely-arrow {
  0% {
    transform: scaleX(1); }
  50% {
    transform: scaleX(1.2); }
  100% {
    transform: scaleX(1); } }
  @media screen and (min-width: 48em) {
    .flo-block-testimonials-1 {
      padding: 5rem 4.375rem; }
      .flo-block-testimonials-1__image--no-crop .flo-block-testimonials-1__testimonial-image {
        background-size: contain; }
      .flo-block-testimonials-1__testimonial-slide {
        width: 100%; }
      .flo-block-testimonials-1__testimonial-slide-content {
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
        -ms-flex-align: center;
            align-items: center; }
      .flo-block-testimonials-1__testimonial-image {
        height: 25.25rem; }
      .flo-block-testimonials-1__testimonial-text-area {
        width: 22.625rem; }
      .flo-block-testimonials-1__title {
        margin-bottom: 2.6875rem; }
      .flo-block-testimonials-1__arrow--left {
        position: absolute;
        left: 4.375rem;
        top: 50%; }
      .flo-block-testimonials-1__arrow--right {
        position: absolute;
        right: 4.375rem;
        top: 50%; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-testimonials-1__mobile-image--no-crop .flo-block-testimonials-1__testimonial-image {
      background-size: contain; }
    .flo-block-testimonials-1__testimonial-slide-content {
      -ms-flex-direction: column;
          flex-direction: column; }
    .flo-block-testimonials-1__testimonial-image {
      margin: 1.25rem auto;
      height: 18.75rem;
      margin-bottom: 1.25rem; }
    .flo-block-testimonials-1__testimonial-text-area {
      padding: 1.25rem;
      width: 100%; }
    .flo-block-testimonials-1__title {
      margin-bottom: 1.25rem; }
    .flo-block-testimonials-1__arrows {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: distribute;
          justify-content: space-around;
      padding: 1.25rem 0; } }

.flo-block-text-block-1 {
  text-align: center; }
  .flo-block-text-block-1__title:not(:last-child) {
    margin-bottom: 1.5625rem; }

.flo-block-text-block-2__text-content {
  max-width: 43.75rem;
  margin: 0 auto;
  text-align: center; }

.flo-block-text-block-3__title {
  text-align: center; }

.flo-block-text-block-3__text-columns p:last-child {
  margin-bottom: 0; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-3__title {
    margin-bottom: 4.375rem; }
  .flo-block-text-block-3__text-columns {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-text-block-3__left-text-column {
    width: 50%;
    padding-right: 2.125rem; }
  .flo-block-text-block-3__right-text-column {
    width: 50%;
    padding-left: 2.125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-text-block-3__title {
    margin-bottom: 2.1875rem; }
  .flo-block-text-block-3__text-columns div:not(:last-child) {
    margin-bottom: 2.125rem; } }

.flo-block-text-block-4 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-text-block-4__title-paragraph p:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .flo-block-text-block-4 {
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-text-block-4__text-column {
        width: calc(100% / 3 - 3.75rem); }
        .flo-block-text-block-4__text-column:not(:last-child) {
          margin-right: 3.75rem; }
      .flo-block-text-block-4__title {
        margin-bottom: 2.6875rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-text-block-4 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-text-block-4__text-column:not(:last-child) {
        margin-bottom: 1.875rem; }
      .flo-block-text-block-4__title {
        margin-bottom: 0.625rem; } }

.flo-block-text-block-5 {
  text-align: center; }
  .flo-block-text-block-5__separating-line {
    width: 2.8125rem;
    height: 1px;
    margin: 0 auto;
    margin-top: 2.1875rem; }

.flo-block-text-block-6 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-text-block-6__title:not(:last-child) {
    margin-bottom: 0.3125rem; }
  .flo-block-text-block-6__title-paragraph p:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .flo-block-text-block-6 {
      -ms-flex-align: center;
          align-items: center;
      padding: 3.4375rem 2.8125rem; }
      .flo-block-text-block-6__title-section {
        width: 19.5625rem;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
      .flo-block-text-block-6__title-paragraph {
        margin-left: 2.8125rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-text-block-6 {
      -ms-flex-direction: column;
          flex-direction: column;
      padding: 1.875rem 1.25rem; }
      .flo-block-text-block-6__title-section {
        text-align: center;
        margin-bottom: 1.25rem; }
      .flo-block-text-block-6__title-paragraph {
        text-align: center; } }

.flo-block-travel-dates {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-travel-dates__text-area {
    text-align: center; }
  .flo-block-travel-dates__travel-date-link {
    position: relative;
    margin-bottom: 1.25rem; }
  .flo-block-travel-dates__url {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  @media screen and (min-width: 48em) {
    .flo-block-travel-dates {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      padding: 0 2.8125rem; }
      .flo-block-travel-dates--image-area-left {
        -ms-flex-direction: row;
            flex-direction: row; }
        .flo-block-travel-dates--image-area-left .flo-block-travel-dates__image-area {
          padding-right: 5.625rem; }
      .flo-block-travel-dates--image-area-right {
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
        text-align: right; }
        .flo-block-travel-dates--image-area-right .flo-block-travel-dates__image-area {
          padding-left: 5.625rem; }
      .flo-block-travel-dates__image-area {
        width: 50%; }
      .flo-block-travel-dates__title {
        margin-bottom: 1.25rem; }
      .flo-block-travel-dates__title-paragraph {
        margin-bottom: 2.1875rem; }
      .flo-block-travel-dates__text-area {
        width: 50%;
        padding: 4.375rem 2.8125rem; }
      .flo-block-travel-dates__text-area-title {
        margin-bottom: 1.875rem; }
      .flo-block-travel-dates__travel-dates-links:hover .flo-block-travel-dates__travel-date-link {
        opacity: 0.5; }
        .flo-block-travel-dates__travel-dates-links:hover .flo-block-travel-dates__travel-date-link:hover {
          opacity: 1; }
      .flo-block-travel-dates__travel-date-link {
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-travel-dates--image-area-left {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-travel-dates--image-area-left .flo-block-travel-dates__image-area {
        margin-bottom: 2.5rem; }
    .flo-block-travel-dates--image-area-right {
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
      .flo-block-travel-dates--image-area-right .flo-block-travel-dates__image-area {
        margin-top: 2.5rem; }
    .flo-block-travel-dates__image-area {
      text-align: center; }
    .flo-block-travel-dates__title {
      margin-bottom: 0.625rem; }
    .flo-block-travel-dates__title-paragraph {
      margin-bottom: 1.25rem; }
    .flo-block-travel-dates__text-area {
      padding: 1.25rem; }
    .flo-block-travel-dates__text-area-title {
      margin-bottom: 1.25rem; } }

.flo-block-video-block-1__title-wrap {
  text-align: center;
  position: relative; }

.flo-block-video-block-1__title {
  position: relative; }

.flo-block-video-block-1__title-decorative-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.flo-block-video-block-1__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  .flo-block-video-block-1__image-wrap--text-position-left {
    text-align: left;
    -ms-flex-align: start;
        align-items: flex-start; }
  .flo-block-video-block-1__image-wrap--text-position-center {
    text-align: center;
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-video-block-1__image-wrap--text-position-right {
    text-align: right;
    -ms-flex-align: end;
        align-items: flex-end; }

.flo-block-video-block-1 .flo-block-video-block-1__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-video-block-1 .flo-block-video-block-1__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-video-block-1 .flo-block-video-block-1__image-wrap {
    background-image: var(--img-large); } }

@media screen and (min-width: 48em) {
  .flo-block-video-block-1__title-wrap {
    padding: 4.25rem; }
  .flo-block-video-block-1__text-elements-wrap {
    margin-bottom: 4.75rem;
    width: 27.5rem;
    padding: 0 4.75rem; }
  .flo-block-video-block-1__image-pretitle {
    margin-bottom: 0.875rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-video-block-1__title-wrap {
    padding: 2.8125rem 1.25rem; }
  .flo-block-video-block-1__text-elements-wrap {
    padding: 1.25rem; }
  .flo-block-video-block-1__image-pretitle {
    margin-bottom: 1.25rem; } }

.flo-block-video-block-2 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-video-block-2__image-wrap {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-video-block-2 .flo-block-video-block-2__image-wrap {
    background-image: url(../img/no-image.jpg);
    background-image: var(--img-small); }
  @media (min-width: 768px) {
    .flo-block-video-block-2 .flo-block-video-block-2__image-wrap {
      background-image: var(--img-medium); } }
  @media (min-width: 1025px) {
    .flo-block-video-block-2 .flo-block-video-block-2__image-wrap {
      background-image: var(--img-large); } }
  .flo-block-video-block-2__text-elements-wrap {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: space-evenly;
        justify-content: space-evenly; }
  .flo-block-video-block-2__button-link {
    display: inline-block;
    padding: 0.6875rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .flo-block-video-block-2 {
      padding: 5.625rem 3.75rem 5.625rem 5.625rem; }
      .flo-block-video-block-2--image-on-the-left {
        -ms-flex-direction: row;
            flex-direction: row; }
      .flo-block-video-block-2--image-on-the-right {
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
      .flo-block-video-block-2__image-wrap {
        width: 36.5625rem; }
      .flo-block-video-block-2__text-elements-wrap {
        padding: 0 2.5rem; }
      .flo-block-video-block-2__pretitle {
        margin-bottom: 1.5rem; }
      .flo-block-video-block-2__button-link {
        transition: color 0.5s, border-color 0.5s, background-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-video-block-2--image-on-the-left {
      -ms-flex-direction: column;
          flex-direction: column; }
    .flo-block-video-block-2--image-on-the-right {
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
    .flo-block-video-block-2__image-wrap {
      margin: 0.9375rem; }
    .flo-block-video-block-2__text-elements-wrap {
      padding: 1.25rem; }
    .flo-block-video-block-2__top-label {
      margin-bottom: 1.875rem; }
    .flo-block-video-block-2__pretitle {
      margin-bottom: 0.9375rem; }
    .flo-block-video-block-2__button-link-wrap:not(:first-child) {
      margin-top: 1.875rem; } }

.flo-comments {
  /* START: TOP AREA */
  /* END: TOP AREA */
  /* START: COMMENTS WRAP */
  /* START: LIST */
  /* END: LIST */
  /* START: FORM */
  /* END: FORM */
  /* END: COMMENTS WRAP */ }
  .flo-comments__top-area {
    border-bottom: 1px solid;
    padding-bottom: 3.5625rem; }
  .flo-comments__sharing-options {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-comments__sharing-options-label {
    margin-right: 1.5625rem; }
  .flo-comments__sharing-links a:not(:last-child) {
    margin-right: 1.5625rem; }
  .flo-comments__sharing-links i:before {
    font-size: 0.6875rem; }
  .flo-comments__tags a:after {
    content: ", "; }
  @media screen and (min-width: 48em) {
    .flo-comments__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .flo-comments__comments-count, .flo-comments__sharing-options, .flo-comments__tags {
      width: calc(100% / 3);
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-comments__tags {
      text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
    .flo-comments__comments-count {
      margin-bottom: 1.25rem; }
    .flo-comments__sharing-options {
      margin-bottom: 1.25rem; } }
  .flo-comments__list {
    padding-top: 2.3125rem; }
    .flo-comments__list > .comment:first-child > .flo-comments__comment {
      padding-top: 0; }
    .flo-comments__list .comment:last-child .flo-comments__comment:last-child {
      border-bottom: 0; }
    .flo-comments__list .comment:last-child .comment:last-child .flo-comments__comment {
      border-bottom: 0; }
  .flo-comments__comment {
    padding: 1.5625rem 0;
    border-bottom: 1px solid; }
    .flo-comments__comment #cancel-comment-reply-link i {
      font-size: 1.25rem; }
  .flo-comments__comment-top-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .flo-comments__comment-avatar {
    width: 2.96875rem;
    height: 2.96875rem;
    border-radius: 2.96875rem;
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    box-sizing: border-box;
    display: inline-block;
    overflow: hidden;
    margin-right: 2.8125rem; }
    .flo-comments__comment-avatar img {
      width: 100%; }
  .flo-comments__comment-author {
    padding: 0.625rem 0; }
  .flo-comments__comment-date {
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: right; }
  .flo-comments__comment-reply {
    margin-top: 1.375rem; }
  @media screen and (min-width: 48em) {
    .flo-comments__list {
      padding-right: 5.625rem; }
    .flo-comments .comment .comment .flo-comments__comment {
      position: relative;
      padding-left: 5.625rem; }
      .flo-comments .comment .comment .flo-comments__comment:before {
        content: " ";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 8.4375rem;
        z-index: -1; }
    .flo-comments__comment-content {
      padding-left: 8.4375rem; }
    .flo-comments__comment-reply {
      padding-left: 8.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__comment-top-wrap {
      margin-bottom: 1.25rem; } }
  .flo-comments__form-wrap {
    padding-top: 3.125rem;
    padding-bottom: 3.75rem; }
  .flo-comments__form-top-area {
    margin-bottom: 3.4375rem; }
  .flo-comments__form-subtitle {
    padding-top: 3rem; }
  .flo-comments__form-field {
    border-bottom: 1px solid !important; }
  .flo-comments__form-textarea {
    border-bottom: 1px solid !important;
    min-height: 7.875rem; }
  .flo-comments .form-submit {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 0; }
  .flo-comments__form .submit {
    display: inline-block;
    margin-top: 3.75rem;
    padding: 0 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-comments__form-wrap {
      padding-left: 5.625rem;
      padding-right: 5.625rem; }
      .flo-comments__form-wrap.is_stuck {
        right: 9.0625rem; }
        .flo-comments__form-wrap.is_stuck[style*=absolute] {
          right: 0; }
    .flo-comments__form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-comments__form-field {
      display: block;
      margin-bottom: 2.5rem !important; }
      .flo-comments__form-field--half {
        width: calc(50% - 2.8125rem);
        margin-right: 5.625rem; }
        .flo-comments__form-field--half + .flo-comments__form-field--half {
          margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__form-wrap {
      padding: 3.125rem 1.875rem; } }
  @media screen and (min-width: 48em) {
    .flo-comments__comments-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; }
    .flo-comments__list, .flo-comments__form-wrap {
      width: 50%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; } }
  .flo-comments__facebook {
    text-align: center; }

@media screen and (min-width: 48em) {
  .flo-footer-sidebars {
    padding: 3.125rem 9.0625rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-footer-sidebars {
    padding: 3.125rem 1.9375rem; } }

.flo-footer-area-2__title-area {
  text-align: center; }

.flo-footer-area-2__newsletter-form {
  display: -ms-flexbox;
  display: flex;
  padding: 0.875rem 1.625rem 0.875rem 1.125rem; }

.flo-footer-area-2__newsletter-form-email {
  border: 0 !important;
  padding: 0 !important; }

.flo-footer-area-2__newsletter-form-submit {
  font-size: 1.125rem;
  cursor: pointer; }

@media screen and (min-width: 48em) {
  .flo-footer-area-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    padding: 1.9375rem 9.0625rem; }
    .flo-footer-area-2__social-area, .flo-footer-area-2__title-area {
      width: calc(100% / 3); }
    .flo-footer-area-2__social-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      position: relative; }
      .flo-footer-area-2__social-area:after {
        content: " ";
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 2.5625rem;
        border-color: inherit; }
    .flo-footer-area-2__link {
      margin-right: 2.25rem; }
    .flo-footer-area-2__social-links a {
      font-size: 0.75rem;
      margin-right: 0.8125rem; }
    .flo-footer-area-2__newsletter-form {
      width: calc(100% / 3 - 2.8125rem);
      margin-left: auto; } }

@media screen and (max-width: 47.9375em) {
  .flo-footer-area-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    padding: 1.25rem 1.9375rem; }
    .flo-footer-area-2__social-area {
      margin-bottom: 1.875rem; }
    .flo-footer-area-2__social-links {
      text-align: center; }
    .flo-footer-area-2__title-area {
      margin-bottom: 1.875rem; }
    .flo-footer-area-2__newsletter-form {
      width: 100%; } }

.flo-footer {
  position: relative;
  /* START: IMAGE FEED */
  /* END: IMAGE FEED */
  /* START: SEARCH FIELD STYLING */
  /* END: SEARCH FIELD STYLING */
  /* START: AREA 1 */
  /* END: AREA 1 */
  /* START: COPYRIGHTS AREA */
  /* END: COPYRIGHTS AREA */ }
  .flo-footer .widget_search .search-field {
    border-top: 0;
    border-left: 0;
    border-right: 0; }
  .flo-footer .widget_search input[type="submit"] {
    margin-top: 1.25rem; }
  .flo-footer .flo-footer-area-1-type-a__images .img-block a {
    display: block; }
  .flo-footer .flo-footer-area-1-type-a__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-a__images,
    .flo-footer .flo-footer-area-1-type-a__images .flo-shcode-instgm-container {
      display: -ms-flexbox;
      display: flex; }
    .flo-footer .flo-footer-area-1-type-a__image {
      width: 9.5rem;
      height: 9.5rem; }
    .flo-footer .flo-footer-area-1-type-a .img-block {
      width: 9.5rem !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-a__image {
      width: 100%;
      height: 18.75rem;
      margin-bottom: 1.25rem; }
    .flo-footer .flo-footer-area-1-type-a .img-block {
      margin-bottom: 1.25rem;
      text-align: center;
      width: 100% !important; } }
  .flo-footer .flo-footer-area-1-type-a__text-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-footer .flo-footer-area-1-type-a__decorative-image {
    display: block;
    margin-bottom: 1.1875rem;
    maxwidth: 5.625rem; }
  .flo-footer .flo-footer-area-1-type-a__title {
    display: block;
    margin-bottom: 2.25rem; }
  .flo-footer .flo-footer-area-1-type-a__subtitle {
    display: block;
    margin-bottom: 1rem; }
  .flo-footer .flo-footer-area-1-type-a__link {
    display: block;
    margin-bottom: 2.4375rem; }
  .flo-footer .flo-footer-area-1-type-a__social-links a {
    font-size: 0.75rem;
    margin: 0 0.3125rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      padding: 0 9.0625rem;
      padding-top: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-a__images {
        width: calc(50% + 1.125rem);
        margin: -0.5625rem; }
        .flo-footer .flo-footer-area-1-type-a__images,
        .flo-footer .flo-footer-area-1-type-a__images .flo-shcode-instgm-container {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .flo-footer .flo-footer-area-1-type-a__image,
      .flo-footer .flo-footer-area-1-type-a .img-block {
        width: calc(100% / 3 - 1.125rem) !important;
        margin: 0.5625rem; }
      .flo-footer .flo-footer-area-1-type-a__text-area {
        width: 50%;
        padding: 0 2.8125rem 0 8.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-a {
      padding: 1.25rem 1.9375rem; }
      .flo-footer .flo-footer-area-1-type-a__images {
        margin-bottom: 1.875rem; } }
  .flo-footer .flo-footer-area-1-type-b__images .img-block a {
    display: block; }
  .flo-footer .flo-footer-area-1-type-b__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-b__images,
    .flo-footer .flo-footer-area-1-type-b__images .flo-shcode-instgm-container {
      display: -ms-flexbox;
      display: flex; }
    .flo-footer .flo-footer-area-1-type-b__image {
      width: 5.625rem;
      height: 5.625rem; }
    .flo-footer .flo-footer-area-1-type-b .img-block {
      width: 5.625rem !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-b__image {
      width: 100%;
      height: 18.75rem;
      margin-bottom: 1.25rem; }
    .flo-footer .flo-footer-area-1-type-b .img-block {
      margin-bottom: 1.25rem;
      text-align: center;
      width: 100% !important; } }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-b {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      padding: 3.3125rem 6.25rem; }
      .flo-footer .flo-footer-area-1-type-b__left-area {
        width: 29.2%; }
      .flo-footer .flo-footer-area-1-type-b .img-block:not(:last-child), .flo-footer .flo-footer-area-1-type-b__image:not(:last-child) {
        margin-right: 1.375rem; }
      .flo-footer .flo-footer-area-1-type-b__middle-area {
        width: 41.6%;
        padding: 0 2.8125rem; }
      .flo-footer .flo-footer-area-1-type-b__right-area {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center;
        width: 29.2%; }
      .flo-footer .flo-footer-area-1-type-b__link-list {
        display: inline-block;
        text-align: center;
        margin: 0 -0.625rem; }
      .flo-footer .flo-footer-area-1-type-b__link {
        margin: 0 0.625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-b {
      padding: 2.5rem 1.9375rem;
      text-align: center; }
      .flo-footer .flo-footer-area-1-type-b.hide-mobile-instagram .flo-footer-area-1-type-b__left-area {
        display: none; }
      .flo-footer .flo-footer-area-1-type-b__left-area {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        margin-bottom: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-shcode-instgm-container, .flo-footer .flo-footer-area-1-type-b__images {
        -ms-flex-order: 1;
            order: 1;
        -ms-flex-pack: justify;
            justify-content: space-between;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-align: start;
            align-items: flex-start; }
      .flo-footer .flo-footer-area-1-type-b .img-block, .flo-footer .flo-footer-area-1-type-b__image {
        height: auto; }
        .flo-footer .flo-footer-area-1-type-b .img-block:not(:first-child), .flo-footer .flo-footer-area-1-type-b__image:not(:first-child) {
          width: calc(50% - 0.625rem) !important; }
        .flo-footer .flo-footer-area-1-type-b .img-block:not(:first-child), .flo-footer .flo-footer-area-1-type-b__image:not(:first-child) {
          margin-bottom: 0; }
      .flo-footer .flo-footer-area-1-type-b__middle-area {
        margin-bottom: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-b__link-list {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
      .flo-footer .flo-footer-area-1-type-b__link {
        width: 50%;
        margin-bottom: 0.20125rem; } }
  .flo-footer .flo-footer-area-1-type-c__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-footer .flo-footer-area-1-type-c__title {
    margin-bottom: 0.375rem; }
  .flo-footer .flo-footer-area-1-type-c__subtitle {
    display: block;
    margin-bottom: 1.625rem; }
  .flo-footer .flo-footer-area-1-type-c__text {
    margin-bottom: 1.75rem; }
  .flo-footer .flo-footer-area-1-type-c__bottom-link {
    display: inline-block;
    padding-bottom: 0.5625rem;
    border-bottom: 1px solid;
    border-color: inherit; }
  .flo-footer .flo-footer-area-1-type-c__link-list-title {
    margin-bottom: 1.01375rem; }
  .flo-footer .flo-footer-area-1-type-c__link-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 1.4375rem;
    border-bottom: 1px solid;
    border-color: inherit;
    margin-bottom: 2.0625rem; }
  .flo-footer .flo-footer-area-1-type-c__link {
    width: 50%;
    margin-bottom: 0.20125rem; }
  .flo-footer .flo-footer-area-1-type-c__button {
    display: block;
    text-align: center;
    padding: 0.9375rem 1.125rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-c {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 3.75rem 9.0625rem; }
      .flo-footer .flo-footer-area-1-type-c__image {
        width: 14.0625rem;
        height: 14.0625rem;
        margin-right: 5.625rem; }
      .flo-footer .flo-footer-area-1-type-c__text-area {
        padding-right: 2.8125rem; }
      .flo-footer .flo-footer-area-1-type-c__right-area {
        width: 27.27%;
        padding-left: 2.8125rem;
        border-left: 1px solid;
        border-color: inherit; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-c {
      padding: 2.5rem 1.9375rem; }
      .flo-footer .flo-footer-area-1-type-c__image {
        width: 100%;
        height: 18.75rem;
        margin-bottom: 3.125rem; }
      .flo-footer .flo-footer-area-1-type-c__text-area {
        margin-bottom: 1.875rem; } }
  .flo-footer .flo-footer-area-1-type-d {
    position: relative; }
    .flo-footer .flo-footer-area-1-type-d__images .img-block a {
      display: block; }
    .flo-footer .flo-footer-area-1-type-d__image {
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-area-1-type-d__images,
      .flo-footer .flo-footer-area-1-type-d__images .flo-shcode-instgm-container {
        display: -ms-flexbox;
        display: flex; }
      .flo-footer .flo-footer-area-1-type-d__image {
        width: 11.25rem;
        height: 11.25rem; }
      .flo-footer .flo-footer-area-1-type-d .img-block {
        width: 11.25rem !important; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-area-1-type-d__image {
        width: 100%;
        height: 18.75rem;
        margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-d .img-block {
        margin-bottom: 1.25rem;
        text-align: center;
        width: 100% !important; } }
    .flo-footer .flo-footer-area-1-type-d__link {
      padding: 0.6875rem 2.0625rem;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-area-1-type-d {
        position: relative;
        padding: 0 6.25rem;
        margin-top: 2.5rem; }
        .flo-footer .flo-footer-area-1-type-d__images {
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: justify;
              justify-content: space-between; }
          .flo-footer .flo-footer-area-1-type-d__images .flo-shcode-instgm-container {
            max-width: 100%; }
        .flo-footer .flo-footer-area-1-type-d__image {
          width: calc(100% / 6);
          height: auto; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-area-1-type-d {
        padding: 0 1.9375rem; }
        .flo-footer .flo-footer-area-1-type-d.mobile-hide-whole-block {
          display: none; }
        .flo-footer .flo-footer-area-1-type-d__images,
        .flo-footer .flo-footer-area-1-type-d .flo-shcode-instgm-container {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          -ms-flex-pack: justify;
              justify-content: space-between; }
        .flo-footer .flo-footer-area-1-type-d__images {
          padding-top: 1.25rem; }
        .flo-footer .flo-footer-area-1-type-d__image,
        .flo-footer .flo-footer-area-1-type-d .img-block {
          width: calc(100% / 2 - 0.625rem) !important;
          height: auto; }
          .flo-footer .flo-footer-area-1-type-d__image:last-child, .flo-footer .flo-footer-area-1-type-d__image:nth-last-child(2),
          .flo-footer .flo-footer-area-1-type-d .img-block:last-child,
          .flo-footer .flo-footer-area-1-type-d .img-block:nth-last-child(2) {
            margin-bottom: 0; }
        .flo-footer .flo-footer-area-1-type-d__link {
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%); } }
  .flo-footer .flo-footer-copyrights-area__back-to-top {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center; }
    .flo-footer .flo-footer-copyrights-area__back-to-top i {
      font-size: 0.875rem;
      opacity: 0.7; }
  .flo-footer .flo-footer-copyrights-area__back-to-top-label {
    margin-right: 0.625rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-copyrights-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 1.25rem 6.25rem 2.625rem 6.25rem; }
      .flo-footer .flo-footer-copyrights-area__icon-wrap, .flo-footer .flo-footer-copyrights-area__back-to-top-wrap {
        width: 29.2%;
        text-align: center; }
      .flo-footer .flo-footer-copyrights-area__copyright-notice {
        width: 41.6%;
        text-align: center; }
      .flo-footer .flo-footer-copyrights-area__back-to-top {
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        cursor: pointer;
        outline: none; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-copyrights-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      padding: 1.25rem; }
      .flo-footer .flo-footer-copyrights-area__icon-wrap {
        margin-bottom: 1.875rem; }
      .flo-footer .flo-footer-copyrights-area__copyright-notice {
        margin-bottom: 1.25rem; } }

.flo-generic-fancybox-video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000; }

.flo-generic-menu-wrap {
  /* START: MENU (dropdowns, links etc.) */
  /* END: MENU (dropdowns, links etc.) */ }
  .flo-generic-menu-wrap__menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    z-index: 23112312;
    -ms-flex-positive: 1;
        flex-grow: 1;
    /* Start: 2nd Level Dropdown */
    /* End: 2nd Level Dropdown */ }
    .flo-generic-menu-wrap__menu li {
      display: inline-block;
      position: relative;
      text-align: center;
      transition: border 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-generic-menu-wrap__menu li a {
        display: block;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-generic-menu-wrap__menu > div > ul > li > a {
      padding: 0; }
    .flo-generic-menu-wrap__menu li:hover > ul {
      opacity: 1;
      pointer-events: initial; }
    .flo-generic-menu-wrap__menu li ul {
      border: 0;
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 15.625rem;
      padding: 1.15625rem 0;
      z-index: 2;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-generic-menu-wrap__menu li ul li {
        width: 100%;
        padding: 0.40625rem 2.4375rem; }
        .flo-generic-menu-wrap__menu li ul li > a {
          padding: 0;
          position: relative;
          display: inline-block;
          background-color: transparent !important; }
          .flo-generic-menu-wrap__menu li ul li > a:hover:before {
            opacity: 1; }
          .flo-generic-menu-wrap__menu li ul li > a:before {
            content: " ";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.5s, border-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-generic-menu-wrap__menu > li > ul {
      top: calc(100% + 2.3125rem);
      left: 50%;
      transform: translateX(-50%); }
      .flo-generic-menu-wrap__menu > li > ul:before {
        content: " ";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 2.3125rem;
        width: 100%; }
      .flo-generic-menu-wrap__menu > li > ul:after {
        content: " ";
        display: block;
        position: absolute;
        bottom: calc(100% - 0.0625rem);
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0.4375rem 0.375rem 0.4375rem;
        border-color: transparent transparent transparent transparent; }

.flo-generic-slides__slide {
  position: relative;
  transform: translate3d(0, 0, 0); }

.flo-generic-slides__slide-content {
  box-sizing: border-box;
  width: 100%;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-generic-slides__slide-img--bgi {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%; }

.flo-generic-slides__slide-background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  overflow: hidden; }
  .flo-generic-slides__slide-background-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .flo-generic-slides__slide-background-video--cropped video {
    height: 100%; }
  .flo-generic-slides__slide-background-video--no-crop video {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%; }

@media screen and (min-width: 48em) {
  .flo-generic-slides__slide-img--bgi {
    background-position: 50% !important; } }

@media screen and (max-width: 47.9375em) {
  .flo-generic-slides--image-type-bgi .flo-generic-slides__slide-content {
    box-sizing: border-box;
    width: 100vw;
    height: 100vh; } }

.flo-mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 84%;
  height: 100%;
  z-index: 9999;
  overflow-y: scroll;
  padding: 1.25rem 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: TOP AREA */
  /* END: TOP AREA */
  /* START: MENU */
  /* START: FIRST LEVEL ITEM */
  /* END: FIRST LEVEL ITEM */
  /* START: DROPDOWN */
  /* END: DROPDOWN */
  /* START: DROPDOWN TOGGLING */
  /* END: DROPDOWN TOGGLING */
  /* END: MENU */
  /* START: BOTTOM AREA */
  /* END: BOTTOM AREA */
  /* START: VISIBILITY */
  /* END: VISIBILITY */ }
  .flo-mobile-menu__top-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding-left: 34.1vw;
    padding-right: 1.9375rem;
    width: 100%;
    margin-bottom: 3.0625rem; }
  .flo-mobile-menu .flo-header-mobile__logo {
    transform: translateX(-50%); }
  .flo-mobile-menu__menu {
    width: 100%;
    padding: 0 1.9375rem !important;
    margin-bottom: 4rem !important; }
    .flo-mobile-menu__menu li {
      position: relative;
      text-align: left; }
    .flo-mobile-menu__menu a {
      width: 100%;
      text-align: left;
      position: relative;
      color: inherit !important; }
  .flo-mobile-menu__menu > li > a {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
  .flo-mobile-menu__menu > li:not(:last-child) {
    border-bottom: 1px solid transparent; }
  .flo-mobile-menu__menu > li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
    .flo-mobile-menu__menu > li ul {
      display: none;
      width: 100%; }
      .flo-mobile-menu__menu > li ul > li > a {
        display: block;
        padding-bottom: 1.5rem; }
  .flo-mobile-menu__menu-dropdown-toggle {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 3.4375rem;
    height: 3.4375rem;
    font-size: 1rem; }
    .flo-mobile-menu__menu-dropdown-toggle i {
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-mobile-menu__menu li.children-visible .flo-mobile-menu__menu-dropdown-toggle i {
    transform: rotate(90deg); }
  .flo-mobile-menu__bottom-area {
    padding: 0 1.9375rem; }
  .flo-mobile-menu__social-links {
    margin-bottom: 2.75rem; }
    .flo-mobile-menu__social-links a {
      margin-right: 0.9375rem; }
  .flo-mobile-menu__copyright-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end; }
  .flo-mobile-menu__copyright-notice {
    line-height: 2em !important; }
  .flo-mobile-menu__copyright-flo-logo {
    padding-left: 1.375rem; }
  .body--flo-mobile-menu-popup-opened {
    overflow: hidden; }
    .body--flo-mobile-menu-popup-opened .flo-mobile-menu {
      opacity: 1;
      pointer-events: initial; }
  html .flo-mobile-menu, .body--flo-mobile-menu-popup-closed .flo-mobile-menu {
    opacity: 0;
    pointer-events: none; }
  @media screen and (min-width: 48em) {
    .flo-mobile-menu {
      display: none !important; } }

.flo-header-mobile {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  padding: 1.25rem 1.9375rem;
  z-index: 111;
  visibility: hidden;
  transition: background-color 0.5s, color 0.5s, opacity 0.5s, padding 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: SPACER */
  /* END: SPACER */
  /* START: MENU TRIGGER */
  /* END: MENU TRIGGER */
  /* START: LOGO */
  /* END: LOGO */
  /* START: HIDE ON DESKTOP */
  /* END: HIDE ON DESKTOP */
  /* START: MOBILE LOGO */
  /* END: MOBILE LOGO */
  /* START: STICKY */
  /* END: STICKY */ }
  .flo-header-mobile__spacer {
    width: 15%; }
  .flo-header-mobile__menu-trigger {
    width: 15%;
    text-align: right; }
  .flo-header-mobile__logo {
    display: block;
    width: 60%;
    position: relative;
    line-height: 1em !important;
    text-align: center;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile__logo--light .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-header-mobile__logo--light .flo-header-mobile__logo-image--light {
      opacity: 1; }
  .flo-header-mobile__logo-image {
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile__logo-image--sticky, .flo-header-mobile__logo-image--light {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  @media screen and (min-width: 48em) {
    .flo-header-mobile {
      display: none; }
      .flo-header-mobile-sticky-wrapper {
        display: none; } }
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero > header > .flo-header-mobile .flo-header-mobile__logo-image--default, .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero .flo-header-mobile-sticky-wrapper:not(.is-sticky) .flo-header-mobile .flo-header-mobile__logo-image--default {
    opacity: 0; }
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero > header > .flo-header-mobile .flo-header-mobile__logo-image--light, .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero .flo-header-mobile-sticky-wrapper:not(.is-sticky) .flo-header-mobile .flo-header-mobile__logo-image--light {
    opacity: 1; }
  .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile {
    position: fixed !important;
    bottom: auto !important; }
  .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile__logo-image--default {
    opacity: 1; }
  .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile__logo-image--light {
    opacity: 0; }
  @media screen and (max-width: 47.9375em) {
    .sticky-container {
      height: auto !important; } }
  .flo-header-mobile-sticky-wrapper {
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile-sticky-wrapper .flo-header-mobile.is-main {
      position: fixed;
      top: 0;
      left: 0;
      bottom: auto !important; }
    .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.is-main {
      position: fixed !important;
      top: 0;
      bottom: auto !important;
      padding: 0.9375rem 1.9375rem; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.is-main .flo-header-mobile__logo-image--default {
        opacity: 1; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.is-main .flo-header-mobile__logo-image--light {
        opacity: 0; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.is-main .flo-header-mobile__logo-image--sticky {
        opacity: 1; }

.flo-header {
  position: relative;
  z-index: 999;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s, padding 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: HEADER COMMON ELEMENTS */
  /* START: MENU (dropdowns, links etc.) */
  /* END: MENU (dropdowns, links etc.) */
  /* END: HEADER COMMON ELEMENTS */
  /* START: HEADER TYPES */
  /* END: HEADER TYPES */ }
  .flo-header__menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    /* Start: 2nd Level Dropdown */
    /* End: 2nd Level Dropdown */ }
    .flo-header__menu .flo-header__search-wrap {
      display: inline-block;
      position: relative;
      z-index: 1;
      margin-right: 1.25rem; }
      .flo-header__menu .flo-header__search-wrap--open .flo-header__search-trigger-icon--open {
        opacity: 0; }
      .flo-header__menu .flo-header__search-wrap--open .flo-header__search-trigger-icon--close {
        opacity: 1; }
      .flo-header__menu .flo-header__search-wrap--open .flo-header__search-form {
        opacity: 1;
        pointer-events: auto; }
    .flo-header__menu .flo-header__search-trigger {
      display: inline-block;
      font-size: 0.75rem;
      position: relative;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none; }
    .flo-header__menu .flo-header__search-trigger-icon {
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__menu .flo-header__search-trigger-icon--close {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        opacity: 0; }
    .flo-header__menu .flo-header__search-form {
      position: absolute;
      top: 50%;
      left: calc(100% + 0.625rem);
      transform: translateY(-50%);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu .flo-header__search-form-input {
      padding: 0.9375rem 1.15625rem !important;
      width: 15.625rem; }
    .flo-header__menu .flo-header__search-form-submit {
      position: absolute;
      top: 50%;
      right: 1.15625rem;
      transform: translateY(-50%);
      font-size: 0.75rem; }
    .flo-header__menu > div > ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      z-index: 23112312;
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header__menu li {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-pack: center;
          justify-content: center;
      position: relative;
      text-align: center; }
      .flo-header__menu li a {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .flo-header__menu .flo-header__menu-items > .menu-item:hover > a:before, .flo-header__menu .flo-header__menu-items > .menu-item.current-menu-item:not(:hover) > a:before {
      opacity: 1; }
    .flo-header__menu .flo-header__menu-items > .menu-item > a {
      position: relative;
      padding: 0; }
      .flo-header__menu .flo-header__menu-items > .menu-item > a:before {
        content: " ";
        display: block;
        position: absolute;
        left: 50%;
        top: calc(100% + 0.5rem);
        transform: translateX(-50%);
        border-top: 1px solid;
        width: calc(100% + 0.6875rem);
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu li:hover > ul {
      opacity: 1;
      pointer-events: initial; }
    .flo-header__menu li ul {
      border: 0;
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 12.5rem;
      padding: 1.4375rem 0;
      z-index: 2;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__menu li ul li {
        width: 100%;
        padding: 0 2.4375rem; }
        .flo-header__menu li ul li:not(:last-child) {
          padding-bottom: 1.4375rem; }
        .flo-header__menu li ul li.current-menu-item > a:before, .flo-header__menu li ul li.current-menu-parent > a:before {
          display: none; }
        .flo-header__menu li ul li > a {
          padding: 0;
          line-height: 1.4em !important;
          position: relative;
          display: inline-block;
          background-color: transparent !important; }
          .flo-header__menu li ul li > a:hover:before {
            opacity: 1; }
          .flo-header__menu li ul li > a:before {
            content: " ";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.5s, border-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu > div > ul > li > ul {
      top: calc(100% + 1.4375rem);
      left: 50%;
      transform: translateX(-50%); }
      .flo-header__menu > div > ul > li > ul:before {
        content: " ";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 1.4375rem;
        width: 100%; }
  .flo-header__logo {
    display: inline-block;
    position: relative;
    text-align: center; }
    .flo-header__logo--is-light .flo-header__logo-image--default {
      opacity: 0; }
    .flo-header__logo--is-light .flo-header__logo-image--light {
      opacity: 1; }
    .flo-header__logo-image {
      display: block;
      width: 100%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__logo-image--sticky, .flo-header__logo-image--light {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0; }
  .flo-header .flo-header__social-links a {
    font-size: 0.75rem;
    margin: 0.25rem; }
  .flo-header--type-a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 2.5rem 0; }
    .flo-header--type-a .flo-header__logo {
      margin-bottom: 3.25rem; }
    .flo-header--type-a .flo-header__menu {
      margin-bottom: 1.4375rem; }
    .flo-header--type-a .flo-header__menu-items {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-header--type-a .flo-header__menu-items > .menu-item {
        margin: 0 1.40625rem; }
        .flo-header--type-a .flo-header__menu-items > .menu-item > a:before {
          top: auto;
          bottom: 0; }
    .flo-header--type-a .flo-header__social-links {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-header--type-a .flo-header__social-links a {
        margin: 0 1.46875rem;
        text-transform: lowercase !important; }
  .flo-header--type-b {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
    padding: 2.5rem 9.0625rem;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat; }
    .flo-header--type-b .flo-header__left-area,
    .flo-header--type-b .flo-header__right-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 8.4375rem;
      height: 9.5625rem;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-b .flo-header__left-area {
      text-align: center;
      padding-right: 2.8125rem;
      border-right: 1px solid;
      border-color: inherit; }
    .flo-header--type-b .flo-header__tagline-2-pretitle {
      margin-bottom: 0.3125rem; }
    .flo-header--type-b .flo-header__middle-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-positive: 1;
          flex-grow: 1;
      padding: 0 2.8125rem; }
    .flo-header--type-b .flo-header__logo {
      margin-bottom: 2.3125rem; }
    .flo-header--type-b .flo-header__menu {
      width: 100%;
      padding: 2.0625rem 0;
      border-top: 1px solid;
      border-color: inherit; }
      .flo-header--type-b .flo-header__menu .flo-header__menu-wrap {
        width: 100%; }
    .flo-header--type-b .flo-header__menu-items {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-header--type-b .flo-header__menu-items > .menu-item {
        margin: 0 1.1875rem; }
    .flo-header--type-b .flo-header__right-area {
      padding-left: 1.875rem;
      border-left: 1px solid;
      border-color: inherit; }
    .flo-header--type-b .flo-header__tagline {
      text-align: center;
      margin-bottom: 2rem; }
    .flo-header--type-b .flo-header__social-links {
      text-align: center; }
      .flo-header--type-b .flo-header__social-links a {
        font-size: 0.75rem; }
        .flo-header--type-b .flo-header__social-links a:not(:last-child) {
          margin-right: 0.25rem; }
  .flo-header--type-c {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    padding: 2.4375rem 9.0625rem;
    width: 100%; }
    .flo-header--type-c .flo-header__menu--left, .flo-header--type-c .flo-header__menu--right {
      top: 50%;
      transform: translateY(-50%);
      display: block; }
    .flo-header--type-c .flo-header__menu--left {
      position: absolute;
      left: 0; }
      .flo-header--type-c .flo-header__menu--left .flo-header__menu-items > li {
        margin-right: 2.8125rem; }
      .flo-header--type-c .flo-header__menu--left > div > ul {
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .flo-header--type-c .flo-header__menu--right {
      position: absolute;
      right: 0; }
      .flo-header--type-c .flo-header__menu--right .flo-header__search-wrap {
        margin-left: 2.8125rem;
        margin-right: 0;
        display: -ms-inline-flexbox;
        display: inline-flex; }
        .flo-header--type-c .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form {
          right: calc(100% + 0.625rem);
          left: auto; }
          .flo-header--type-c .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form .flo-header__search-form-input {
            background-color: #FFFFFF !important;
            color: #000 !important; }
      .flo-header--type-c .flo-header__menu--right .flo-header__menu-items > li {
        margin-left: 2.8125rem; }
      .flo-header--type-c .flo-header__menu--right > div > ul {
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .flo-header--type-d-or-e {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 2.4375rem 9.0625rem;
    width: 100%; }
    .flo-header--type-d-or-e .flo-header__logo-and-tagline {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-d-or-e .flo-header__separator {
      -ms-flex-positive: 0;
          flex-grow: 0;
      margin: 0 2.125rem;
      border-left: 1px solid;
      height: 1.1875rem;
      width: 0px; }
    .flo-header--type-d-or-e .flo-header__menu {
      width: 33.75rem; }
    .flo-header--type-d-or-e .flo-header__menu-items {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  header[data-layout="flo-header--layout-type-d"] .flo-header__menu-items {
    -ms-flex-pack: end;
        justify-content: flex-end; }
    header[data-layout="flo-header--layout-type-d"] .flo-header__menu-items > .menu-item {
      margin-left: 2.8125rem; }
  header[data-layout="flo-header--layout-type-e"] .flo-header {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  header[data-layout="flo-header--layout-type-e"] .flo-header__menu-items {
    -ms-flex-pack: start;
        justify-content: flex-start; }
    header[data-layout="flo-header--layout-type-e"] .flo-header__menu-items > .menu-item {
      margin-right: 2.8125rem; }
  .flo-header--type-f-or-g {
    padding: 2.4375rem 9.0625rem;
    width: 100%; }
    .flo-header--type-f-or-g .flo-header__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between;
      margin-bottom: 2.9375rem; }
    .flo-header--type-f-or-g .flo-header__bottom-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between;
      min-height: 1.1875rem; }
    .flo-header--type-f-or-g .flo-header__menu-items > .menu-item {
      margin-right: 2.8125rem; }
    .flo-header--type-f-or-g .flo-header__tagline {
      border-left: 1px solid;
      padding-left: 2.8125rem; }
  header[data-layout="flo-header--layout-type-g"] .flo-header__top-area {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  .flo-header--type-h-or-i {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding: 2.4375rem 6.25rem;
    width: 100%; }
    .flo-header--type-h-or-i .flo-header__menu-and-link {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-h-or-i .flo-header__featured-link {
      padding: 0.71875rem 1.4375rem;
      border: 1px solid;
      border-color: inherit; }
  header[data-layout="flo-header--layout-type-h"] .flo-header__menu-items > .menu-item {
    margin-left: 4.3125rem; }
  header[data-layout="flo-header--layout-type-h"] .flo-header__featured-link {
    margin-left: 4.8125rem; }
  header[data-layout="flo-header--layout-type-i"] .flo-header {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  header[data-layout="flo-header--layout-type-i"] .flo-header__menu-items > .menu-item {
    margin-right: 4.3125rem; }
  header[data-layout="flo-header--layout-type-i"] .flo-header__featured-link {
    margin-right: 4.8125rem; }
  .flo-header--type-j {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding-top: 3.625rem;
    padding-left: 6.25rem;
    padding-right: 9.0625rem;
    padding-bottom: 2.5rem;
    width: 100%; }
    .flo-header--type-j .flo-header__popup-menu-top-wrap {
      width: 30%; }
    .flo-header--type-j .flo-header__popup-menu-wrap {
      display: inline-block;
      position: relative; }
      .flo-header--type-j .flo-header__popup-menu-wrap--open .flo-header__popup-menu-trigger-icon--open {
        opacity: 0; }
      .flo-header--type-j .flo-header__popup-menu-wrap--open .flo-header__popup-menu-trigger-icon--close {
        opacity: 1; }
      .flo-header--type-j .flo-header__popup-menu-wrap--open .flo-header__popup-menu-trigger-label--open {
        opacity: 0; }
      .flo-header--type-j .flo-header__popup-menu-wrap--open .flo-header__popup-menu-trigger-label--close {
        opacity: 1; }
      .flo-header--type-j .flo-header__popup-menu-wrap--open .flo-header__popup-menu {
        opacity: 1;
        pointer-events: auto; }
    .flo-header--type-j .flo-header__popup-menu-trigger {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-align: center;
          align-items: center;
      min-width: 10.875rem;
      padding: 2.0625rem 2.8125rem;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none; }
    .flo-header--type-j .flo-header__popup-menu-trigger-icon-wrap {
      position: relative;
      margin-right: 1.5625rem;
      font-size: 0.875rem; }
    .flo-header--type-j .flo-header__popup-menu-trigger-icon {
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header--type-j .flo-header__popup-menu-trigger-icon--close {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        opacity: 0; }
    .flo-header--type-j .flo-header__popup-menu-trigger-label-wrap {
      position: relative; }
    .flo-header--type-j .flo-header__popup-menu-trigger-label {
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header--type-j .flo-header__popup-menu-trigger-label--close {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        opacity: 0; }
    .flo-header--type-j .flo-header__popup-menu {
      position: absolute;
      top: calc(100% - 2.0625rem);
      left: 0;
      width: 100%;
      padding-top: 2.0625rem;
      padding-bottom: 3.5625rem;
      opacity: 0;
      pointer-events: none; }
    .flo-header--type-j .flo-header__popup-menu-items li.menu-item-has-children {
      position: relative; }
      .flo-header--type-j .flo-header__popup-menu-items li.menu-item-has-children:hover:after {
        opacity: 1; }
      .flo-header--type-j .flo-header__popup-menu-items li.menu-item-has-children:hover > ul {
        opacity: 1;
        pointer-events: auto; }
      .flo-header--type-j .flo-header__popup-menu-items li.menu-item-has-children:after {
        content: " ";
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0.875rem;
        border-top: 1px solid;
        width: 0.34375rem;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-j .flo-header__popup-menu-items > li {
      display: block;
      width: 100%;
      padding: 0.6875rem 2.8125rem;
      position: relative; }
      .flo-header--type-j .flo-header__popup-menu-items > li:first-child {
        padding-top: 0; }
      .flo-header--type-j .flo-header__popup-menu-items > li:last-child {
        padding-bottom: 0; }
      .flo-header--type-j .flo-header__popup-menu-items > li ul {
        left: calc(100% + 0.8125rem);
        padding: 1.4375rem 0;
        width: 10.875rem;
        border: 0;
        opacity: 0;
        pointer-events: none; }
        .flo-header--type-j .flo-header__popup-menu-items > li ul:before, .flo-header--type-j .flo-header__popup-menu-items > li ul:after {
          content: " ";
          display: block;
          position: absolute;
          top: 0;
          width: 0.8125rem;
          height: 100%; }
        .flo-header--type-j .flo-header__popup-menu-items > li ul:before {
          right: 100%; }
        .flo-header--type-j .flo-header__popup-menu-items > li ul:after {
          left: 100%; }
        .flo-header--type-j .flo-header__popup-menu-items > li ul li {
          padding: 0.6875rem 1.4375rem; }
          .flo-header--type-j .flo-header__popup-menu-items > li ul li:first-child {
            padding-top: 0; }
          .flo-header--type-j .flo-header__popup-menu-items > li ul li:last-child {
            padding-bottom: 0; }
      .flo-header--type-j .flo-header__popup-menu-items > li > ul {
        position: absolute;
        top: 0; }
        .flo-header--type-j .flo-header__popup-menu-items > li > ul ul {
          margin: 0 0.8125rem; }
    .flo-header--type-j .flo-header__menu-area {
      width: calc(30% - 2.8125rem); }
    .flo-header--type-j .flo-header__menu-items {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: end;
          justify-content: flex-end;
      width: 100%; }
      .flo-header--type-j .flo-header__menu-items > li {
        margin-left: 1.84375rem; }
  @media screen and (max-width: 47.9375em) {
    .flo-header {
      display: none; } }

* {
  border-color: inherit; }

/* START: STICKY HEADER STYLES */
.flo-header--sticky .sticky-wrapper {
  transition: height 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--sticky .sticky-wrapper.is-sticky .flo-header {
    position: fixed !important;
    top: 0 !important;
    bottom: auto !important;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--default {
      opacity: 0; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--light {
      opacity: 0; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--sticky {
      opacity: 1; }

/* END: STICKY HEADER STYLES */
.flo-block--header {
  padding-bottom: 0; }

.flo_page_wrap {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative; }
  .flo_page_wrap--padding-top-large {
    padding-top: 9.375rem; }

.flo_page {
  -ms-flex-positive: 1;
      flex-grow: 1;
  width: 100%; }

.flo-post-wrap {
  margin: 0 auto; }

.flo-post--not-found {
  padding-bottom: 3.125rem; }

.flo-post, .flo-post__styles {
  position: relative;
  /*--------------------------------------------------------------
  3.0 Alignments
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  8.0 Lists
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  16.0 Media
  --------------------------------------------------------------*/
  /* Make sure embeds and iframes fit their containers. */
  /* Media Elements */
  /* Audio Player */
  /*--------------------------------------------------------------
  16.1 Galleries
  --------------------------------------------------------------*/
  /* spacing below image */ }
  .flo-post img, .flo-post__styles img {
    max-width: 100%; }
  .flo-post p, .flo-post__styles p {
    margin-bottom: 0.9375rem; }
    .flo-post p:last-of-type, .flo-post__styles p:last-of-type {
      margin-bottom: 0; }
  .flo-post blockquote, .flo-post__styles blockquote {
    padding: 0;
    border: 0;
    margin-bottom: 1.875rem; }
    .flo-post blockquote p, .flo-post__styles blockquote p {
      padding: 0;
      margin-bottom: 0.9375rem; }
      .flo-post blockquote p:last-of-type, .flo-post__styles blockquote p:last-of-type {
        margin-bottom: 0; }
  .flo-post h1, .flo-post h2, .flo-post h3, .flo-post h4, .flo-post h5, .flo-post h6, .flo-post__styles h1, .flo-post__styles h2, .flo-post__styles h3, .flo-post__styles h4, .flo-post__styles h5, .flo-post__styles h6 {
    padding-bottom: 1.5rem; }
  .flo-post .alignleft, .flo-post__styles .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em; }
  .flo-post .alignright, .flo-post__styles .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em; }
  .flo-post .aligncenter, .flo-post__styles .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .flo-post ul,
  .flo-post ol, .flo-post__styles ul,
  .flo-post__styles ol {
    margin: 0 0 1.5em;
    padding: 0; }
  .flo-post ul, .flo-post__styles ul {
    list-style: disc; }
  .flo-post ol, .flo-post__styles ol {
    list-style: decimal; }
  .flo-post li > ul,
  .flo-post li > ol, .flo-post__styles li > ul,
  .flo-post__styles li > ol {
    margin-bottom: 0;
    margin-left: 1.5em; }
  .flo-post dt, .flo-post__styles dt {
    font-weight: 700; }
  .flo-post dd, .flo-post__styles dd {
    margin: 0 1.5em 1.5em; }
  .flo-post img,
  .flo-post video, .flo-post__styles img,
  .flo-post__styles video {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
    margin: 0 auto; }
  .flo-post .comment-content .wp-smiley, .flo-post__styles .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0; }
  .flo-post embed,
  .flo-post iframe,
  .flo-post object, .flo-post__styles embed,
  .flo-post__styles iframe,
  .flo-post__styles object {
    margin-bottom: 0.3125rem;
    max-width: 100%; }
  .flo-post .wp-caption,
  .flo-post .wp-caption a,
  .flo-post .gallery-caption, .flo-post__styles .wp-caption,
  .flo-post__styles .wp-caption a,
  .flo-post__styles .gallery-caption {
    color: #666;
    font-size: 0.6125rem;
    font-style: italic;
    margin-bottom: 1.5em;
    max-width: 100%;
    line-height: 1em; }
  .flo-post .wp-caption img[class*="wp-image-"], .flo-post__styles .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .flo-post .wp-caption .wp-caption-text, .flo-post .wp-caption-text a, .flo-post__styles .wp-caption .wp-caption-text, .flo-post__styles .wp-caption-text a {
    margin: 0.8075em 0; }
  .flo-post .wp-caption p, .flo-post__styles .wp-caption p {
    margin-bottom: 0; }
  .flo-post .mejs-container, .flo-post__styles .mejs-container {
    margin-bottom: 0.3125rem;
    max-width: 100%; }
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider,
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider:focus,
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider:hover, .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider,
  .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider:focus,
  .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider:hover {
    background: transparent;
    border: 0; }
  .flo-post .gallery-item, .flo-post__styles .gallery-item {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0 0 1.5em;
    padding: 0 1em 0 0;
    width: 50%; }
  .flo-post .gallery-columns-1 .gallery-item, .flo-post__styles .gallery-columns-1 .gallery-item {
    width: 100%; }
    .flo-post .gallery-columns-1 .gallery-item a, .flo-post__styles .gallery-columns-1 .gallery-item a {
      display: block; }
  .flo-post .gallery-columns-2 .gallery-item, .flo-post__styles .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .flo-post .gallery-item a,
  .flo-post .gallery-item a:hover,
  .flo-post .gallery-item a:focus, .flo-post__styles .gallery-item a,
  .flo-post__styles .gallery-item a:hover,
  .flo-post__styles .gallery-item a:focus {
    box-shadow: none;
    background: none;
    display: inline-block;
    max-width: 100%; }
  .flo-post .gallery-item a img, .flo-post__styles .gallery-item a img {
    display: block;
    transition: filter 0.2s ease-in;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .flo-post .gallery-item a:hover img,
  .flo-post .gallery-item a:focus img, .flo-post__styles .gallery-item a:hover img,
  .flo-post__styles .gallery-item a:focus img {
    filter: opacity(60%); }
  .flo-post .gallery-caption, .flo-post__styles .gallery-caption {
    display: block;
    text-align: left;
    padding: 0 10px 0 0;
    margin-bottom: 0; }
  .flo-post a img, .flo-post img, .flo-post img.alignleft, .flo-post img.alignright, .flo-post img.aligncenter, .flo-post__styles a img, .flo-post__styles img, .flo-post__styles img.alignleft, .flo-post__styles img.alignright, .flo-post__styles img.aligncenter {
    margin-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .flo-post, .flo-post__styles {
      /* Gallery Columns */ }
      .flo-post div.gallery, .flo-post__styles div.gallery {
        font-size: 0px; }
      .flo-post .gallery-item, .flo-post__styles .gallery-item {
        max-width: 25%; }
      .flo-post .gallery-columns-1 .gallery-item, .flo-post__styles .gallery-columns-1 .gallery-item {
        max-width: 100%; }
      .flo-post .gallery-columns-2 .gallery-item, .flo-post__styles .gallery-columns-2 .gallery-item {
        max-width: 50%; }
      .flo-post .gallery-columns-3 .gallery-item, .flo-post__styles .gallery-columns-3 .gallery-item {
        max-width: 33.33%; }
      .flo-post .gallery-columns-4 .gallery-item, .flo-post__styles .gallery-columns-4 .gallery-item {
        max-width: 25%; }
      .flo-post .gallery-columns-5 .gallery-item, .flo-post__styles .gallery-columns-5 .gallery-item {
        max-width: 20%; }
      .flo-post .gallery-columns-6 .gallery-item, .flo-post__styles .gallery-columns-6 .gallery-item {
        max-width: 16.66%; }
      .flo-post .gallery-columns-7 .gallery-item, .flo-post__styles .gallery-columns-7 .gallery-item {
        max-width: 14.285%; }
      .flo-post .gallery-columns-8 .gallery-item, .flo-post__styles .gallery-columns-8 .gallery-item {
        max-width: 12.5%; }
      .flo-post .gallery-columns-9 .gallery-item, .flo-post__styles .gallery-columns-9 .gallery-item {
        max-width: 11.111%; } }

.post-password-form {
  max-width: 800px;
  margin: 0 auto 60px; }
  .post-password-form input[type="password"] {
    border: 1px solid #bbbbbb !important;
    margin-bottom: 30px;
    margin-top: 10px; }

.flo-related-items__title {
  text-align: center;
  border-bottom: 1px solid;
  padding-bottom: 2.0625rem;
  margin-bottom: 3.75rem; }

.flo-related-items__item {
  text-align: center;
  display: block; }

.flo-related-items__item-image {
  display: block;
  margin-bottom: 1.875rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-related-items__item-title {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-related-items__items {
    display: -ms-flexbox;
    display: flex; }
  .flo-related-items__item {
    width: 39.375rem; }
    .flo-related-items__item:not(:last-child) {
      margin-right: 8.4375rem; }
    .flo-related-items__item:hover .flo-related-items__item-image {
      opacity: 0.5; }
  .flo-related-items__item-image {
    height: 13.84375rem;
    width: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-related-items__item-title {
    padding: 0 5.625rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-related-items__item {
    margin-bottom: 2rem; }
  .flo-related-items__item-image {
    height: 12.5rem; } }

.flo-reveal {
  height: 100vh;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: -100%;
  opacity: 0;
  z-index: 1000001; }
  .flo-reveal--visible {
    pointer-events: initial; }
  .flo-reveal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh; }
  .flo-reveal--ready {
    opacity: 1;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-reveal[data-initial-position="left"] {
    left: 0;
    right: auto;
    transform: translateX(-100%); }
    .flo-reveal[data-initial-position="left"].flo-reveal--visible {
      transform: translate(0); }
  .flo-reveal[data-initial-position="right"] {
    left: auto;
    right: 0;
    transform: translateX(100%); }
    .flo-reveal[data-initial-position="right"].flo-reveal--visible {
      transform: translate(0); }
  .flo-reveal-overlay {
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-reveal-overlay:not(.flo-reveal-overlay--visible) {
      opacity: 0 !important;
      pointer-events: none; }
  .flo-reveal-overlay {
    z-index: 100000; }

.flo-slideshow {
  height: 100vh;
  width: 100vw;
  /* START: ONE SLIDE MODIFICATOR */
  /* END: ONE SLIDE MODIFICATOR */
  /* START: COUNTER */
  /* END: COUNTER */
  /* START: TITLE AREA */
  /* END: TITLE AREA */
  /* START: FEATURED LINK */
  /* END: FEATURED LINK */ }
  .flo-slideshow--one-slide .slick-list {
    height: auto !important; }
  .flo-slideshow__slides {
    -ms-flex-positive: 1;
        flex-grow: 1;
    height: 100%; }
    .flo-slideshow__slides .slick-list,
    .flo-slideshow__slides .slick-track,
    .flo-slideshow__slides .slick-slide,
    .flo-slideshow__slides .flo-slideshow__slide-content {
      height: 100%; }
  .flo-slideshow .flo-slideshow__slide-img--bgi {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-slideshow .flo-slideshow__slide {
    position: relative;
    transform: translate3d(0, 0, 0); }
  .flo-slideshow .flo-slideshow__slide-content {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block--merged-with-header .flo-slideshow__slide-content {
      height: 100vh; }
  .flo-slideshow .flo-slideshow__slide-img {
    display: none; }
    .flo-slideshow .flo-slideshow__slide-img--bgi {
      width: 100%;
      height: 100%; }
  .flo-slideshow .flo-slideshow__slide-background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    overflow: hidden; }
    .flo-slideshow .flo-slideshow__slide-background-video video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .flo-slideshow .flo-slideshow__slide-background-video--cropped video {
      height: 100%; }
    .flo-slideshow .flo-slideshow__slide-background-video--no-crop video {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 100%; }
  @media screen and (min-width: 48em) {
    .flo-slideshow .flo-slideshow__slide.gradient-visible .flo-slideshow__slide-img:after {
      opacity: 0.666; }
    .flo-slideshow .flo-slideshow__slide-img {
      position: relative; }
      .flo-slideshow .flo-slideshow__slide-img:after {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow .flo-slideshow__slide-img--bgi {
        display: block; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow .flo-slideshow__slide-content {
      box-sizing: border-box;
      width: 100vw;
      height: 100vh; }
      .flo-block--merged-with-header .flo-slideshow__slide-content {
        height: 100vh; }
    .flo-slideshow .flo-slideshow__slide-img--bgi {
      display: block; } }
  .flo-slideshow__layout {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100%;
    height: 100%; }
  @media screen and (min-width: 48em) {
    .flo-slideshow__layout--type-a .flo-slideshow__title-area,
    .flo-slideshow__layout--type-a .flo-hero-video-embed__button {
      cursor: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__slides {
      cursor: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__title-area {
      left: 6.0625rem;
      bottom: 20.6875rem;
      transform: translateY(50%); }
    .flo-slideshow__layout--type-a .flo-slideshow__counter {
      bottom: 4.375rem;
      left: 4.5625rem;
      right: initial;
      pointer-events: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__featured-link {
      bottom: 4.375rem;
      right: 4.5625rem; }
    .flo-slideshow__layout--type-a .flo-slideshow__featured-link-title-area {
      text-align: right; }
    .flo-slideshow__layout--type-a:hover .flo-slideshow__arrow-next {
      opacity: 1; }
    .flo-slideshow__layout--type-a .flo-slideshow__arrow-next {
      position: absolute;
      opacity: 0;
      font-size: 0.8125rem;
      pointer-events: none;
      transform-origin: center;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: color 0.5s, opacity 0.5s, transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next.inverted {
        transform: rotate(-180deg); }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next.vertical {
        transform: rotate(-90deg) !important; }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next i {
        display: inline-block; } }
  .flo-slideshow__layout--type-b .flo-slideshow__background {
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__layout--type-b .flo-slideshow__arrows {
    font-size: 0.5rem; }
  .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-slideshow__layout--type-b .flo-slideshow__background {
      position: absolute;
      left: 0;
      width: calc(100vw - 9.0625rem);
      height: 100%;
      pointer-events: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__arrows {
      position: absolute;
      right: 20.3125rem;
      transform: translateY(50%);
      top: 23.1875rem;
      z-index: 10; }
    .flo-slideshow__layout--type-b .flo-slideshow__arrow {
      opacity: 0.8;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow__layout--type-b .flo-slideshow__arrow:hover {
        opacity: 1; }
      .flo-slideshow__layout--type-b .flo-slideshow__arrow--next {
        margin-bottom: 2.8125rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__slides {
      z-index: 1; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide:not(.slick-current) .flo-slideshow__title-area {
      opacity: 0; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide:not(.slick-current) .flo-slideshow__slide-image-wrap {
      height: calc(100% - 5.3125rem); }
    .flo-slideshow__layout--type-b .flo-slideshow__slide.gradient-visible .flo-slideshow__slide-image:after {
      opacity: 0.5; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-main-wrap {
      position: relative;
      width: 68.125rem;
      padding-left: 9.0625rem;
      padding-right: 2.1875rem;
      padding-bottom: 9.0625rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image-wrap {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      transition: height 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
      width: 100%;
      position: relative;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
      .flo-slideshow__layout--type-b .flo-slideshow__slide-image:after {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__title-area {
      bottom: 4.6875rem;
      left: 5.3125rem;
      width: 50%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__title-area-pretitle {
      margin-bottom: 0.875rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter {
      left: 69.0625rem;
      bottom: 6.5625rem;
      z-index: 1; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-index {
      margin-right: 2rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-separator {
      display: none !important; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-count {
      opacity: 1; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__layout--type-b .flo-slideshow__arrow {
      position: absolute; }
    .flo-slideshow__layout--type-b .flo-slideshow__background {
      display: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter {
      display: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__slides {
      height: 100vh; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide {
      height: 100vh;
      width: 100vw; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; } }
  .flo-slideshow-block--type-c.flo-block--merged-with-header .flo-header {
    display: none !important; }
  .flo-slideshow-block--type-c .flo-header-mobile__logo-image--default {
    opacity: 1 !important; }
  .flo-slideshow-block--type-c .flo-header-mobile__logo-image--light {
    opacity: 0 !important; }
  .flo-slideshow__layout--type-c {
    /* START: TOP AREA */
    /* END: TOP AREA */
    /* START: SLIDES */
    /* END: SLIDES */
    /* START: FEATURED LINK */
    /* END: FEATURED LINK */
    /* START: SLIDE SELECTOR */
    /* END: SLIDE SELECTOR */
    /* START: RIGHT BAR */
    /* END: RIGHT BAR */ }
    .flo-slideshow__layout--type-c .flo-slideshow__top-area-logo .flo-header-logo {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-c .flo-slideshow__top-area-social-links a:before {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
      z-index: 1;
      position: relative; }
    @media screen and (min-width: 48em) {
      .flo-slideshow__layout--type-c {
        /* START: TOP AREA */
        /* END: TOP AREA */
        /* START: SLIDES */
        /* END: SLIDES */
        /* START: FEATURED LINK */
        /* END: FEATURED LINK */
        /* START: SLIDE SELECTOR */
        /* END: SLIDE SELECTOR */
        /* START: RIGHT BAR */
        /* START: HEADER POPUP STYLE */
        /* END: HEADER POPUP STYLE */
        /* END: RIGHT BAR */ }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area {
          position: absolute;
          top: 0;
          left: 0;
          width: calc(100% - 9.0625rem);
          z-index: 1;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-align: start;
              align-items: flex-start;
          padding: 1.875rem 5.625rem 0 9.0625rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area-social-links a:not(:last-child) {
          margin-right: 1.75rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__slides {
          width: calc(100vw - 9.0625rem);
          height: calc(100vh - 5rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__featured-link {
          bottom: 12.0625rem;
          left: 0;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors {
          width: calc(100vw - 9.0625rem);
          height: 5rem; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors .slick-list {
            overflow: visible;
            transform: translateX(7.625rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector {
          position: relative;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none;
          transition: background-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current:before, .flo-slideshow__layout--type-c .flo-slideshow__slide-selector:hover:before {
            opacity: 0.9; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current .flo-slideshow__slide-selector-pretitle {
            opacity: 1; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector:before {
            content: " ";
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: calc(100% + 0.625rem);
            opacity: 0;
            transition: opacity 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
          padding: 0.8125rem 1.625rem;
          padding-right: 7.625rem;
          height: 5rem;
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: start;
              align-items: flex-start; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle {
          position: absolute;
          left: 1.625rem;
          bottom: calc(100% + 2.3125rem);
          pointer-events: none;
          opacity: 0;
          transition: opacity 0.5s, color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle:before {
            content: " ";
            display: inline-block;
            vertical-align: middle;
            width: 1.46875rem;
            height: 1px;
            margin-right: 0.9375rem;
            transition: background-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-second-pretitle {
          margin-bottom: 0.3125rem;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar {
          position: absolute;
          right: 0;
          top: 0;
          box-sizing: border-box;
          height: 100vh;
          width: 9.0625rem;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: justify;
              justify-content: space-between;
          padding-top: 3.125rem;
          padding-bottom: 1.875rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-search-trigger {
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-link {
          -webkit-writing-mode: tb-rl;
              -ms-writing-mode: tb-rl;
                  writing-mode: tb-rl; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-menu-trigger {
          font-size: 0.6875rem;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup:before {
          display: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__main-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: flex-stretch;
              align-items: flex-stretch;
          padding-right: 1.625rem;
          padding-top: 3.125rem;
          padding-left: 5.625rem; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__top-bar {
          position: absolute;
          bottom: 1.875rem;
          right: 1.625rem;
          margin: 0;
          pointer-events: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__close {
          pointer-events: initial; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__search {
          margin-bottom: 5rem;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: start;
              align-items: flex-start; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__search-input {
          padding-top: 0 !important; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__menu {
          height: 50vh; }
          .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__menu > div > ul > li {
            padding-left: 11.25rem; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__social-links {
          position: absolute;
          bottom: 1.875rem;
          left: 5.625rem;
          margin: 0;
          pointer-events: none; } }
    @media screen and (max-width: 47.9375em) {
      .flo-slideshow__layout--type-c {
        /* START: TOP AREA */
        /* END: TOP AREA */
        /* START: SLIDES */
        /* END: SLIDES */
        /* START: FEATURED LINK */
        /* END: FEATURED LINK */
        /* START: SLIDE SELECTOR */
        /* END: SLIDE SELECTOR */
        /* START: RIGHT BAR */
        /* END: RIGHT BAR */ }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__title-area {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__featured-link {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors {
          height: 5rem; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors .slick-list {
            overflow: visible;
            transform: translateX(1.25rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector {
          position: relative;
          width: calc(100vw - 2.5rem);
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current .flo-slideshow__slide-selector-wrap:before {
            opacity: 0.9; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
          padding: 0.8125rem 1.625rem;
          position: absolute;
          bottom: 0;
          left: 0;
          width: calc(100vw - 2.5rem); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap:before {
            content: " ";
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: calc(100% + 0.625rem);
            opacity: 0; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle {
          position: absolute;
          left: 1.625rem;
          bottom: calc(100% + 2.3125rem);
          pointer-events: none;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle:before {
            content: " ";
            display: inline-block;
            vertical-align: middle;
            width: 1.46875rem;
            height: 1px;
            margin-right: 0.9375rem;
            transition: background-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-second-pretitle {
          position: relative;
          z-index: 1;
          margin-bottom: 0.5rem;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-title {
          position: relative;
          z-index: 1; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar {
          display: none; } }
  .flo-slideshow--one-slide .flo-slideshow__slides {
    cursor: default; }
  .flo-slideshow--one-slide .flo-slideshow__counter,
  .flo-slideshow--one-slide .flo-slideshow__arrow-next,
  .flo-slideshow--one-slide .flo-slideshow__slide-selectors {
    display: none !important; }
  .flo-slideshow__counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: absolute; }
  .flo-slideshow__counter-index {
    padding-bottom: 0 !important;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__counter-separator, .flo-slideshow__counter-count {
    opacity: 0.5; }
  .flo-slideshow__counter-separator {
    height: 1px;
    width: 0.6875rem;
    margin: 0 0.25rem;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__counter-count {
    padding-bottom: 0 !important;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-slideshow__counter {
      bottom: 2.1875rem;
      right: 3.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__counter {
      bottom: 2.1875rem;
      left: 50%;
      transform: translateX(-50%); } }
  .flo-slideshow__title-area {
    position: absolute;
    width: 90%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .flo-slideshow__title-area-pretitle {
    margin-bottom: 1.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__title-area-pretitle:before {
      content: " ";
      display: inline-block;
      vertical-align: middle;
      width: 1.4375rem;
      height: 1px;
      margin-right: 1.3125rem;
      transition: background-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__title-area-title {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-slideshow__title-area {
      width: calc(100% / 3.1); } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__title-area {
      left: 50%;
      bottom: 30%;
      transform: translateX(-50%);
      -ms-flex-align: center;
          align-items: center;
      text-align: center; } }
  .flo-slideshow__featured-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: absolute; }
  .flo-slideshow__featured-link-title-area {
    display: block;
    padding: 1.5625rem; }
  .flo-slideshow__featured-link-pretitle {
    display: block;
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__featured-link-title {
    display: block;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__featured-link-title p {
      margin-bottom: 0; }
  .flo-slideshow__featured-link-image {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-positive: 0;
        flex-grow: 0;
    width: 7.34375rem;
    height: 7.34375rem;
    border: 0.78125rem solid;
    box-sizing: border-box;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__featured-link-divider {
    height: 5rem;
    width: 1px;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__featured-link {
      display: none; } }
  @media screen and (min-width: 48em) {
    .flo-block--merged-with-header.flo-slideshow-block--type-a .flo-header.is-not-sticky {
      background-color: transparent !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block--merged-with-header {
      padding-top: 0 !important; }
      .flo-block--merged-with-header.flo-slideshow-block--type-a .flo-header-mobile.not-sticky.is-main {
        background-color: transparent !important; } }

.flo-splash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ffffff;
  z-index: 1000000000;
  overflow: hidden; }
  .flo-splash__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0; }
  @media screen and (min-width: 48em) {
    .flo-splash__content--medium-up {
      opacity: 1; }
    .flo-splash__content--small-only {
      opacity: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-splash__content--medium-up {
      opacity: 0; }
    .flo-splash__content--small-only {
      opacity: 1; } }

.flo-text-content {
  max-width: none;
  padding: 2.5rem 0; }

.flo-hero-video-embed__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: 0;
  background-color: black;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.flo-hero-video-embed__button {
  position: absolute;
  top: 2.5rem;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  z-index: 100;
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 4.0625rem;
  font-size: 0.97345rem;
  color: inherit;
  border: 1px solid;
  border-color: initial;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: color 0.5s, top 0.5s, bottom 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__button:hover {
    opacity: 0.4; }

.flo-hero-video-embed__button-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__button-icon--play {
    opacity: 0; }
  .flo-hero-video-embed__button-icon--stop {
    opacity: 0; }

.flo-hero-video-embed__button {
  top: 50%;
  opacity: 1; }

.flo-hero-video-embed__button-icon--play {
  opacity: 1; }

.flo-hero-video-embed--button-at-bottom .flo-hero-video-embed__button {
  top: 80%; }

@media screen and (max-width: 47.9375em) {
  .flo-hero-video-embed--button-mobile-bottom .flo-hero-video-embed__button {
    top: 80%; } }

/* START: BUTTON HIDDEN */
.flo-hero-video-embed--button-hidden .flo-hero-video-embed__button {
  opacity: 0;
  pointer-events: none; }

/* END: BUTTON HIDDEN */
.video-is-playing .flo-block__header, .video-is-playing .flo-header-mobile, .video-is-playing .flo-slideshow__centered-logo, .video-is-playing .flo-slideshow__type-a-menu, .video-is-playing .flo-slideshow__slide-content, .video-is-playing .flo-slideshow__counter, .video-is-playing .flo-slideshow__title-area, .video-is-playing .flo-slideshow__featured-link, .video-is-playing .flo-slideshow__top-area, .video-is-playing .flo-slideshow__slide-image, .video-is-playing .flo-block-slideshow-1__content-wrap, .video-is-playing .flo-block-slideshow-2__content-wrap, .video-is-playing .flo-block-slideshow-3__content-wrap, .video-is-playing .flo-block-slideshow-4__arrows, .video-is-playing .flo-block-slideshow-4__counter {
  z-index: 1;
  opacity: 0;
  pointer-events: none !important;
  visibility: hidden; }

.video-is-playing .flo-slideshow__arrow-next {
  display: none !important; }

.video-is-playing .flo-hero-video-embed__button {
  cursor: pointer; }

@media screen and (max-width: 47.9375em) {
  .video-is-playing .flo-slideshow__slide-selectors {
    z-index: 1;
    opacity: 0;
    pointer-events: none; } }

.video-is-playing .flo-hero-video-embed__container {
  opacity: 1;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button {
  top: 6.25rem !important;
  color: white !important;
  border-color: white !important;
  opacity: 1;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button-icon--play {
  opacity: 0;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button-icon--stop {
  opacity: 1;
  pointer-events: initial; }

.video-is-playing:not(:hover) .flo-hero-video-embed__button {
  opacity: 0; }

.flo-wp-content-with-pagination__pagination {
  pointer-events: none; }

.flo-wp-content-with-pagination__link {
  pointer-events: initial; }

@media screen and (min-width: 48em) {
  .flo-wp-content-with-pagination {
    position: relative; }
    .flo-wp-content-with-pagination__content {
      padding: 0 14.6875rem; }
    .flo-wp-content-with-pagination__pagination {
      position: absolute;
      top: 3.125rem;
      left: 0;
      width: 100vw !important;
      padding: 0 9.0625rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    .flo-wp-content-with-pagination__link {
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      position: relative;
      padding: 2.5rem 0; }
      .flo-wp-content-with-pagination__link:before {
        content: " ";
        display: inline-block;
        position: absolute;
        right: -4.53125rem;
        top: 50%;
        transform: translate(50%, -50%);
        width: 1.46875rem;
        height: 1px; }
      .flo-wp-content-with-pagination__link--prev {
        transform-origin: center;
        transform: rotate(180deg); } }

@media screen and (max-width: 47.9375em) {
  .flo-wp-content-with-pagination {
    padding: 0 1.9375rem; }
    .flo-wp-content-with-pagination__pagination {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .flo-wp-content-with-pagination__link {
      width: 45;
      -ms-flex-positive: 0;
          flex-grow: 0; } }

.flo-wp-title {
  text-align: center; }
  .flo-wp-title__title {
    padding-bottom: 0 !important; }

.flo_sidebar .column, .flo_sidebar .columns {
  margin-bottom: 2.5rem;
  padding: 0 2.5rem; }
  .flo_sidebar .column:last-child, .flo_sidebar .columns:last-child {
    margin-bottom: 0; }

.flo_sidebar.flo_sidebar--on-right {
  padding-right: 0; }

.flo_sidebar .figure-hide-img {
  background-image: none !important;
  height: auto; }
  .flo_sidebar .figure-hide-img img {
    display: block; }

.flo_sidebar .widget {
  margin-bottom: 1.875rem; }

.flo_sidebar * {
  color: inherit;
  border-color: inherit; }

.flo_sidebar .widget_search .search-field {
  border-top: 0;
  border-left: 0;
  border-right: 0; }

.flo_sidebar .widget_search input[type="submit"] {
  margin-top: 1.25rem; }

@media screen and (min-width: 48em) {
  .flo_sidebar {
    width: 14.0625rem !important;
    top: 0;
    padding: 0;
    position: absolute;
    margin-left: 5.625rem;
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    z-index: 100; }
    .flo_sidebar--on-left {
      -ms-flex-order: -1;
          order: -1;
      margin-right: 5.625rem;
      margin-left: 0; } }

@media screen and (max-width: 47.9375em) {
  .flo_sidebar {
    display: none; } }

@media screen and (min-width: 48em) {
  .body_has_sidebar {
    opacity: 0; }
    .body_has_sidebar .flo-block.contains_sidebar {
      opacity: 1 !important;
      transform: none !important; }
    .body_has_sidebar.sidebar-ready {
      opacity: 1; }
    .body_has_sidebar .flo-block--header {
      z-index: 101 !important; } }

/* BOF WOOCOMMERCE SUPPORT */
.flo-woocommerce-wrap {
  max-width: 62.5rem;
  margin: 0 auto; }

.woocommerce-page .flo-block {
  padding-top: 0px; }

.woocommerce-page .flo-post a {
  text-decoration: none; }

.woocommerce-page .flo-post .woocommerce-error {
  padding: 1em 2em 1em 3.5em; }

.woocommerce thead, .woocommerce tbody, .woocommerce tfoot {
  border: 0px;
  background: transparent; }

.woocommerce .flo-post a {
  text-decoration: none; }

.woocommerce .quantity .qty, .woocommerce .quantity input[type="number"] {
  width: 5em;
  height: 1.5625rem;
  padding: 0.1em;
  border-color: #e5e5e5;
  font-size: 1rem; }

.woocommerce .woocommerce-breadcrumb a {
  box-shadow: 0 1px 0;
  text-decoration: none; }
  .woocommerce .woocommerce-breadcrumb a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .cart input.button:disabled {
  color: #ffffff; }

.woocommerce span.onsale {
  padding: 0; }

.woocommerce ul.products li.product .price del {
  display: inline-block; }

.woocommerce ul.products a.button {
  padding: 0.6em 0.8em; }

.woocommerce div.product .variations td.label {
  background-color: transparent;
  padding-top: 20px;
  vertical-align: middle; }

.woocommerce div.product .variations .value select {
  margin-bottom: 0; }

.woocommerce div.product .variations .reset_variations {
  box-shadow: 0 1px 0; }
  .woocommerce div.product .variations .reset_variations:hover {
    box-shadow: 0 3px 0; }

.woocommerce div.product .product_meta a {
  box-shadow: 0 1px 0; }
  .woocommerce div.product .product_meta a:hover {
    box-shadow: 0 3px 0; }

.woocommerce div.product .product_meta .tagged_as {
  clear: both;
  display: block; }

.woocommerce div.product .related h2 {
  margin-bottom: 0.9375rem; }

.woocommerce div.product .woocommerce-tabs li.active a, .woocommerce div.product .woocommerce-tabs a:hover {
  box-shadow: 0 3px 0; }

.woocommerce div.product .woocommerce-tabs a {
  box-shadow: 0 1px 0; }

.woocommerce div.product .woocommerce-tabs .panel {
  margin-bottom: 4em; }

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border: 0px;
  overflow: visible;
  padding-left: 5px;
  background-color: transparent; }
  .woocommerce div.product .woocommerce-tabs ul.tabs:before {
    border: 0px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0px;
    background-color: transparent; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
      background-color: transparent; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li:after {
      border: 0px;
      box-shadow: none; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
      padding-left: 0; }

.woocommerce .checkout #customer_details {
  margin-bottom: 1.875rem; }

.woocommerce .checkout .wc_payment_method .input-radio {
  position: relative;
  height: auto; }

.woocommerce p.woocommerce-thankyou-order-received {
  margin-bottom: 1.25rem !important; }

.woocommerce .woocommerce-thankyou-order-details {
  padding-left: 0;
  margin-bottom: 2.5rem; }
  .woocommerce .woocommerce-thankyou-order-details li {
    list-style: disc;
    border-right: 0px;
    clear: both; }
    .woocommerce .woocommerce-thankyou-order-details li strong {
      display: inline-block; }

.woocommerce .woocommerce-MyAccount-content .addresses {
  margin-top: 1.875rem; }

.woocommerce .woocommerce-MyAccount-content .woocommerce-Message br {
  display: none; }

.woocommerce .woocommerce-MyAccount-content .button {
  margin-top: 20px; }

.woocommerce .woocommerce-MyAccount-content .woocommerce-Message .button, .woocommerce .woocommerce-MyAccount-content .shop_table .button {
  margin-top: 0; }

.woocommerce .woocommerce-MyAccount-navigation .is-active a {
  box-shadow: 0 3px 0; }
  .woocommerce .woocommerce-MyAccount-navigation .is-active a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .woocommerce-MyAccount-navigation a:hover {
  box-shadow: 0 1px 0; }

.woocommerce .woocommerce-Address-title .edit {
  clear: both;
  margin-top: 1.875rem;
  float: left !important;
  box-shadow: 0 1px 0; }
  .woocommerce .woocommerce-Address-title .edit:hover {
    box-shadow: 0 3px 0; }

.woocommerce .order_details .product-name a {
  box-shadow: 0 1px 0; }
  .woocommerce .order_details .product-name a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .order_details li {
  border-right: 0px !important;
  margin-bottom: 10px; }

.woocommerce .actions .coupon input[type="submit"] {
  height: 2.625rem;
  text-decoration: none !important; }

.woocommerce .actions p {
  margin-bottom: 0px; }

.woocommerce .actions input.button[type="submit"] {
  height: 2.625rem;
  text-decoration: none !important;
  color: #515151; }

.woocommerce form p, .woocommerce table p {
  margin-bottom: 0px !important; }

.woocommerce .order-number a br {
  display: none; }

.woocommerce #coupon_code {
  min-width: 15em;
  height: 2.55rem; }

.woocommerce .button br {
  display: none; }

.woocommerce .single_add_to_cart_button.button, .woocommerce .single_add_to_cart_button.button.disabled {
  padding: 0.40em 0.5em; }

.woocommerce .wc-proceed-to-checkout p {
  margin-bottom: 0 !important; }

.woocommerce .wc-proceed-to-checkout .checkout-button {
  margin-bottom: 0 !important; }

.woocommerce input[type='submit'] {
  text-decoration: none !important; }

.woocommerce input[type]:not([type="submit"]), .woocommerce textarea {
  border: 1px solid;
  padding: 0.5rem; }

.woocommerce textarea {
  background-image: none !important;
  margin-bottom: 1.25rem;
  line-height: 1rem !important; }

.woocommerce a.button.loading::after {
  right: -2em; }

.woocommerce .woocommerce-Reviews-title {
  margin-bottom: 20px; }

.woocommerce .comment-form .comment-notes, .woocommerce .comment-form .comment-form-author, .woocommerce .comment-form .comment-form-email, .woocommerce .comment-form .comment-form-rating {
  margin-bottom: 1.25rem !important; }

.woocommerce .comment-form .comment-notes {
  font-size: 0.6875rem; }

/* EOF WOOCOMMERCE SUPPORT */
.body_has_sidebar .flo-icon-sidebar {
  display: block; }

.flo_sidebar--active {
  overflow: hidden; }

/* END: COMPONENTS (KEEP THIS ONE AT THE BOTTOM ALL THE TIME) */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCJnbG9iYWwvbGV0dGVyLWljb25zLWZvbnRlbGxvLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3JhbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiZ2xvYmFsL2dsb2JhbC5zY3NzIiwiZ2xvYmFsL3otaW5kZXgtbWFwLnNjc3MiLCIuLi9jb21wb25lbnRzLzAvY29tbWVudHMtYmxvY2svY29tbWVudHMtYmxvY2subWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby1ibG9jay9mbG8tYmxvY2subWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby1mb3JtL2Zsby1mb3JtLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tbHFpcC9mbG8tbHFpcC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzAvZmxvLXBhZ2Utd3JhcC9mbG8tcGFnZS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tc2hhcmUtcm9sbG92ZXIvZmxvLXNoYXJlLXJvbGxvdmVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tc2xpZGVyL2Zsby1zbGlkZXIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQtZHVtbXkubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL3NvY2lhbC1saW5rcy9zb2NpYWwtbGlua3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1idXR0b24vZmxvLWJsb2NrLWJ1dHRvbi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEvZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb21tZW50cy9mbG8tYmxvY2stY29tbWVudHMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMi9mbG8tYmxvY2stY29udGFjdC1ibG9jay0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmFxLWJsb2NrLTEvZmxvLWJsb2NrLWZhcS1ibG9jay0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmFxLWJsb2NrLTIvZmxvLWJsb2NrLWZhcS1ibG9jay0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTIvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staG9yaXpvbnRhbC1kaXZpZGVyL2Zsby1ibG9jay1ob3Jpem9udGFsLWRpdmlkZXIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtYmxvY2stMi9mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy0yL2Zsby1ibG9jay1pbWFnZS1saW5rcy0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtbGlua3MtMy9mbG8tYmxvY2staW1hZ2UtbGlua3MtMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWludHJvLWJsb2NrL2Zsby1ibG9jay1pbnRyby1ibG9jay5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tY2F0ZWdvcmllcy9mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTEvZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10YWdzL2Zsby1ibG9jay1pdGVtLXRhZ3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXRpdGxlLTEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMi9mbG8tYmxvY2staXRlbS10aXRsZS0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10aXRsZS0zL2Zsby1ibG9jay1pdGVtLXRpdGxlLTMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXZlbmRvcnMtMi9mbG8tYmxvY2staXRlbS12ZW5kb3JzLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXZlbmRvcnMvZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctMS9mbG8tYmxvY2stbGlzdGluZy0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy0yL2Zsby1ibG9jay1saXN0aW5nLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTMvZmxvLWJsb2NrLWxpc3RpbmctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctNC9mbG8tYmxvY2stbGlzdGluZy00Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy01L2Zsby1ibG9jay1saXN0aW5nLTUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24vZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xL2Zsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMS9mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yL2Zsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcmVsYXRlZC1pdGVtcy9mbG8tYmxvY2stcmVsYXRlZC1pdGVtcy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNoYXJlLWxpbmtzL2Zsby1ibG9jay1zaGFyZS1saW5rcy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0xL2Zsby1ibG9jay1zbGlkZXNob3ctMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1zbGlkZXNob3ctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xL2Zsby1ibG9jay10ZXN0aW1vbmlhbHMtMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stMS9mbG8tYmxvY2stdGV4dC1ibG9jay0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay0yL2Zsby1ibG9jay10ZXh0LWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTMvZmxvLWJsb2NrLXRleHQtYmxvY2stMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stNC9mbG8tYmxvY2stdGV4dC1ibG9jay00Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay01L2Zsby1ibG9jay10ZXh0LWJsb2NrLTUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTYvZmxvLWJsb2NrLXRleHQtYmxvY2stNi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRyYXZlbC1kYXRlcy9mbG8tYmxvY2stdHJhdmVsLWRhdGVzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1jb21tZW50cy9mbG8tY29tbWVudHMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXItc2lkZWJhcnMvZmxvLWZvb3Rlci1zaWRlYmFycy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0xLXR5cGUtYS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0xLXR5cGUtZC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1mYW5jeWJveC12aWRlby9mbG8tZ2VuZXJpYy1mYW5jeWJveC12aWRlby5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWdlbmVyaWMtbWVudS13cmFwL2Zsby1nZW5lcmljLW1lbnUtd3JhcC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWdlbmVyaWMtc2xpZGVzL2Zsby1nZW5lcmljLXNsaWRlcy10ZW1wbGF0ZS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci1tb2JpbGUtbWVudS9mbG8taGVhZGVyLW1vYmlsZS1tZW51Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS9mbG8taGVhZGVyLW1vYmlsZS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX21lbnUuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX2xvZ28uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX3NvY2lhbC1saW5rcy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItdHlwZS1iLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLXR5cGUtYy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci10eXBlLWQtb3ItZS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci10eXBlLWYtb3ItZy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci10eXBlLWgtb3ItaS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci10eXBlLWouc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tcGFnZS13cmFwL2Zsby1wYWdlLXdyYXAubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1wb3N0L2Zsby1wb3N0Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tcmVsYXRlZC1pdGVtcy9mbG8tcmVsYXRlZC1pdGVtcy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXJldmVhbC9mbG8tcmV2ZWFsLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tc2xpZGVzaG93L2Zsby1zbGlkZXNob3cubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1zbGlkZXNob3cvZmxvLXNsaWRlc2hvd19fc2xpZGVzLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXNsaWRlc2hvdy9mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1zbGlkZXNob3cvZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tc2xpZGVzaG93L2Zsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXNwbGFzaC9mbG8tc3BsYXNoLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tdGV4dC1jb250ZW50L2Zsby10ZXh0LWNvbnRlbnQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby12aWRlby1idXR0b24vZmxvLWhlcm8tdmlkZW8tZW1iZWQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbi9mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby13cC10aXRsZS9mbG8td3AtdGl0bGUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL3NpZGViYXIvc2lkZWJhci5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvd29vY29tbWVyY2Uvd29vY29tbWVyY2UubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8yL2JvZHktaGFzLXNpZGViYXIvYm9keS1oYXMtc2lkZWJhci5tYWluLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLG1CQUFtQjtBQ0FuQjs7Ozs7R0FLRztBQ3dDRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FDeERQLG1EQUFZO0FEMERSO0VBQ0Usd0JFMUN1QjtFRjBDUyxPQUFPO0VBUXJDLGtCQUFpQjtFQUFHLE9BQU87RUFFN0IsMkJBQTBCO0VBQUcsT0FBTztFQUNwQywrQkFBOEI7RUFBRyxPQUFPLEVBQ3pDOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEOztPQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDtFRzlFRixlQVh1QztFSG9HakMsaUJBQWdCLEVBRW5COztBQW9DRDtvRkFDZ0Y7QUF1Q2hGOztPQUVHO0FBRUg7O0VBRUUsZUFBYyxFQUNmOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkV2TFksRUZ5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRyxPQUFPO0VBQ2pDLFVBQVM7RUFBRyxPQUFPO0VBQ25CLGtCQUFpQjtFQUFHLE9BQU8sRUFDNUI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFhRDs7O09BR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFHLE9BQU87RUFDM0MsZUFBYztFQUFHLE9BQU8sRUFDekI7O0FBSUQ7b0ZBQ2dGO0FBRWhGOzs7T0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUcsT0FBTztFQUN2QyxzQ0FBcUM7RUFBRyxPQUFPLEVBQ2hEOztBQUVEOzs7T0FHRztBQUVIOztFQUVFLGlCQUFnQixFQUNqQjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7RUFDRSxvQkFBbUI7RUFBRyxPQUFPO0VBQzdCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsa0NBQWlDO0VBQUcsT0FBTyxFQUM1Qzs7QUFFRDs7T0FFRztBQUVIOztFQUVFLHFCQUFvQixFQUNyQjs7QUFFRDs7T0FFRztBQUVIOztFQUVFLG9CQUFtQixFQUNwQjs7QUFFRDs7O09BR0c7QUFFSDs7O0VBR0Usa0NBQWlDO0VBQUcsT0FBTztFQUMzQyxlQUFjO0VBQUcsT0FBTyxFQUN6Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOztPQUVHO0FBRUg7RUFDRSx1QkFBc0I7RUFDdEIsWUFBVyxFQUNaOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7OztPQUdHO0FBRUg7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7O0VBRUUsc0JBQXFCLEVBQ3RCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxjQUFhO0VBQ2IsVUFBUyxFQUNWOztBQUVEOztPQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7Ozs7O0VBS0Usd0JFelp1QjtFRnlaUyxPQUFPO0VBQ3ZDLGdCQUFlO0VBQUcsT0FBTztFQUt2QixrQkFBaUI7RUFBRyxPQUFPO0VBRTdCLFVBQVM7RUFBRyxPQUFPLEVBQ3BCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxrQkFBaUIsRUFDbEI7O0FBRUQ7OztPQUdHO0FBRUg7O0VBQ1MsT0FBTztFQUNkLHFCQUFvQixFQUNyQjs7QUFFRDs7OztPQUlHO0FBRUg7Ozs7RUFJRSwyQkFBMEI7RUFBRyxPQUFPLEVBQ3JDOztBQUVEOzs7O0VBS0U7O1NBRUc7RUFPSDs7U0FFRyxFQUtKO0VBckJEOzs7O0lBVUksbUJBQWtCO0lBQ2xCLFdBQVUsRUFDWDtFQVpIOzs7O0lBbUJJLCtCQUE4QixFQUMvQjs7QUFHSDs7T0FFRztBQUVIO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEOzs7T0FHRztBSHpNUDs7RUc2TU0sdUJBQXNCO0VBQUcsT0FBTztFQUNoQyxXQUFVO0VBQUcsT0FBTyxFQUNyQjs7QUFFRDs7T0FFRztBSHpNUDs7RUc2TU0sYUFBWSxFQUNiOztBQUVEOzs7T0FHRztBSDNNUDtFRzhNTSw4QkFBNkI7RUFBRyxPQUFPO0VBQ3ZDLHFCQUFvQjtFQUFHLE9BQU87RUFFOUI7O1NBRUcsRUFNSjtFSGpOSDtJRytNTSx5QkFBd0IsRUFDekI7O0FBR0g7OztPQUdHO0FBRUg7RUFDRSwyQkFBMEI7RUFBRyxPQUFPO0VBQ3BDLGNBQWE7RUFBRyxPQUFPLEVBQ3hCOztBQUVEOztPQUVHO0FBRUg7RUFDRSwwQkFBeUI7RUFDekIsY0FBYTtFQUNiLCtCQUE4QixFQUMvQjs7QUFFRDs7Ozs7T0FLRztBQUVIO0VBQ0UsdUJBQXNCO0VBQUcsT0FBTztFQUNoQyxlQUFjO0VBQUcsT0FBTztFQUN4QixnQkFBZTtFQUFHLE9BQU87RUFDekIsV0FBVTtFQUFHLE9BQU87RUFDcEIsZUFBYztFQUFHLE9BQU87RUFDeEIsb0JBQW1CO0VBQUcsT0FBTyxFQUM5Qjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHNCQUFxQjtFQUFHLE9BQU87RUFDL0IseUJBQXdCO0VBQUcsT0FBTyxFQUNuQzs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOztPQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFxQmY7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxzQkFBcUIsRUFDdEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGNBQWEsRUFDZDs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUh0UFA7RUd5UE0sY0FBYSxFQUNkOztBSTlpQkg7RUFDRSw4RUFBZ0QsRUFDakQ7O0FBRUQ7RUFDRSx1QkFBc0I7RUFDdEIsZ0JDakhtQixFRGtIcEI7O0FBR0Q7OztFQUdFLG9CQUFtQixFQUNwQjs7QUFHRDtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBRVYsb0JBdEZXO0VBd0ZYLG9FQTVFcUU7RUE2RXJFLG9CQTdEeUI7RUE4RHpCLGlCQXhIbUI7RUF5SG5CLGVBL0ZXO0VBa0dULG9DQUFtQztFQUNuQyxtQ0FBa0MsRUFFckM7O0FBRUQ7RUFFRSxzQkFBcUI7RUFDckIsdUJBQXNCO0VBR3RCLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLGdDQUErQixFQUNoQzs7QUFHRDtFQUNFLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsaUJBOUVhLEVBK0VkOztBQUdEO0VBQ0UsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxpQkFyRmEsRUFzRmQ7O0FBSUQ7Ozs7OztFQUtJLDJCQUEwQixFQUMzQjs7QUFJSDtFQUdFLFdBQVU7RUFFVix5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixVQUFTO0VBQ1QsaUJBM0dhO0VBNEdiLHdCQUF1QjtFQUV2QixlQUFjLEVBQ2Y7RVA0UkQ7SVMvU0UsV0FBVSxFQUNYOztBRnFCRDtFQUNFLGVBQWMsRUFDZjs7QUFHRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDtFQUNFLHlCQUF3QixFQUN6Qjs7QUd4TEQ7RUNzRUEsaUJIVHVEO0VHMUJyRCxtQkFBa0I7RUFDbEIsa0JBQWlCLEVEU2xCO0VEeUVEO0lBRUUsZUFBYztJQUNkLGFBQVksRUFNYjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VDbklEO0lFTEUsaUJBRnFDO0lBR3JDLGdCQUhxQyxFRmNsQztFQVBMO0lDeURFLHdCQUYrRDtJQUcvRCx1QkFIK0QsRURyQzlEO0lHOEdDO01IaElKO1FDeURFLHlCQUYrRDtRQUcvRCx3QkFIK0QsRURyQzlELEVBQUE7SUc4R0M7TUhoSUo7UUN5REUseUJBRitEO1FBRy9ELHdCQUgrRCxFRHJDOUQsRUFBQTtJQWxCSDtNQWVNLGdCQUFlO01BQ2YsZUFBYyxFQUNmO0VBakJMO0lDc0VBLGdCQUhhLEVEdkNWO0lBNUJIO01BeUJNLG1CQUFrQjtNQUNsQixrQkFBaUIsRUFDbEI7RUEzQkw7SUNzRUEsZ0JBSGEsRURuQ1Y7RUFoQ0g7SUVMRSx3QkFGcUM7SUFHckMsdUJBSHFDLEVGZ0Q5QjtFQXpDVDtJRUxFLHlCQUZxQztJQUdyQyx3QkFIcUMsRUZnRDlCOztBQU9UO0VJN0RBLFlDZXFEO0VBK0JyRCxZUnlDeUQ7RUsvRXZELHdCQUZxQztFQUdyQyx1QkFIcUMsRUYrRHRDO0VHd0VHO0lIaEZKO01FckRFLHlCQUZxQztNQUdyQyx3QkFIcUMsRUYrRHRDLEVBQUE7RUtoQkM7SUFDRSxhUmtDc0QsRVFqQ3ZEO0VDckJIO0lBQ0UsWVRvRHVELEVTbkR4RDs7QU5xQ0Q7RUFDRSxZQUFXLEVBQ1o7O0FBR0Q7RUFDRSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDaEI7O0FBS0c7RUl4RkosZ0JDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGdCRGhCZ0MsRUxnRzNCOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHNCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFdDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsVUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixXQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSixpQkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFdDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsVUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixXQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSixpQkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFdDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsVUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixXQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSixpQkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFlDZXFELEVMMkVoRDs7QUFnQkQ7RU05RUosdUJEYnFELEVMNkZoRDs7QUFLRDtFT3pHRixZVitFdUQ7RVU5RXZELFlBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsV0FBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVB3RUM7RU96R0YsWVYrRXVEO0VVOUV2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVB3RUM7RU96R0YsWVYrRXVEO0VVOUV2RCxXQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVitDcUQsRVU5Q3REOztBUHdFQztFT3pHRixZVitFdUQ7RVU5RXZELFdBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsaUJBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsaUJBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsYUFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVA4RUQ7RUUvR0EsaUJBRnFDO0VBR3JDLGdCQUhxQyxFRmtIVzs7QUFEaEQ7RUFJSSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUVEO0VFN0hBLHdCQUZxQztFQUdyQyx1QkFIcUMsRUZnSW9COztBQUl6RDtFTWpJQSxtQkFBa0I7RUFDbEIsa0JBQWlCLEVOa0loQjtFTXZJRDtJQUNFLFlBQVc7SUFDWCxZQUFXLEVBQ1o7O0FOdUlEOzs7RU01SEYsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxnQkFBZTtFQUNmLGVBQWMsRU42SFg7O0FHTkM7RUhyREE7SUl4RkosZ0JDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGdCRGhCZ0MsRUxnRzNCO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosc0JEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixZQ2VxRCxFTDJFaEQ7RUFnQkQ7SU05RUosdUJEYnFELEVMNkZoRDtFQUtEO0lPekdGLFlWK0V1RDtJVTlFdkQsWUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELGFBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVA4RUQ7SUUvR0EsaUJBRnFDO0lBR3JDLGdCQUhxQyxFRmtIVztFQURoRDtJQUlJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBR0g7SUFDRSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUVEO0lFN0hBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUZnSW9CO0VBSXpEO0lNaklBLG1CQUFrQjtJQUNsQixrQkFBaUIsRU5rSWhCO0lNdklEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFTnVJRDs7O0lNNUhGLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsZ0JBQWU7SUFDZixlQUFjLEVONkhYLEVBQUE7O0FHTkM7RUhyREE7SUl4RkosZ0JDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGdCRGhCZ0MsRUxnRzNCO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosc0JEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixXQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixpQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixZQ2VxRCxFTDJFaEQ7RUFnQkQ7SU05RUosdUJEYnFELEVMNkZoRDtFQUtEO0lPekdGLFlWK0V1RDtJVTlFdkQsWUFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxpQkFBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZ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QUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUlBbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGaENxQyxFRGNwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFSURsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHckNtQztFSHFDbkMsc0JGNUJtRDtFTUdqRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHcENxQztFSG9DckMsd0JGM0JxRDtFTUVuRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENHbkNpQztFSG1DakMseUJGMUJzRDtFTUNwRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENHbEMrQjtFSGtDL0IsdUJGekJvRDtFTUFsRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHckNtQztFSHFDbkMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3BDcUM7RUhvQ3JDLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsc0JGdEJtRDtFTUhqRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsd0JGckJxRDtFTUpuRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMseUJGcEJzRDtFTUxwRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsdUJGbkJvRDtFTU5sRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNCQUZ5QjtFSzNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLG9CQUZ5QjtFS2hCdkIsV0FBMkIsRVJBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSxvQkFGeUI7RUtoQnZCLFdBQTJCLEVSQTVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBOEIsRVJGL0I7O0FBVUQ7RUdvQkEsc0JBRnlCO0VLaEJ2QixXQUE4QixFUkEvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9CQUZ5QjtFSzNCdkIsd0NBQXVDO0VBQ3ZDLFdBQThCLEVSRi9COztBQVVEO0VHb0JBLHNCQUZ5QjtFS2hCdkIsV0FBOEIsRVJBL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGeUI7RU0zQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFVEY1Qjs7QUFVRDtFR29CQSxxQkFGeUI7RU1oQnZCLFdBQTJCLEVUQTVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIscUJBRnlCO0VNM0J2Qix3Q0FBdUM7RUFDdkMsV0FBOEIsRVRGL0I7O0FBVUQ7RUdvQkEsNEJBRnlCO0VNaEJ2QixXQUE4QixFVEEvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRCQUZ5QjtFTTNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVURjVCOztBQVVEO0VHb0JBLHFCQUZ5QjtFTWhCdkIsV0FBMkIsRVRBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixxQkFGeUI7RU0zQnZCLHdDQUF1QztFQUN2QyxXQUE4QixFVEYvQjs7QUFVRDtFR29CQSw2QkFGeUI7RU1oQnZCLFdBQThCLEVUQS9COztBQ29CQztFQUFZLHNDQUFzQyxFQUFJOztBQUF0RDtFQUFZLHNDQUFzQyxFQUFJOztBQU10RDtFQUFZLDhDQUE2QyxFQUFJOztBQUE3RDtFQUFZLDRD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Q0FBaUM7RUFFakMsdUIzSzVNb0Q7RTJLNk1wRCw2QkFBNEIsRUFDNUI7O0FBblJMO0VBc1JNLFlBQVcsRUFDWjs7QUF2Ukw7RUEwUk0sb0JBQW1CLEVBQ3BCOztBQTNSTDtFQStSUSxrQ0FBc0MsRUFDdkM7O0FBaFNQO0VBbVNRLHFCM0s5TmlELEUySytObEQ7O0FBS1AsNkJBQTZCO0FDNVQ3QjtFQUdJLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGlCQUFnQixFQUNqQjs7QW5Md0ZELGdFQUFnRSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogU1RBUlQ6IFZFTkRPUiAqL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbkBpbXBvcnQgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8vY3NzL2Zsby1pY29ucy5jc3NcIik7XG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT02NC4wNjI1ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEyLjUlOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5sYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubGFyZ2UtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLmxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubGFyZ2UtY2VudGVyZWQsIC5sYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5sYXJnZS1wdXNoLTAsXG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMxNzc5YmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTQ2OGEwOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzE3NzliYTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZWNmYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBpICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUgPiBsaSwgLm1lbnUuaG9yaXpvbnRhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAubWVudS5sYXJnZS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZS5hbGlnbi1yaWdodCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wLnZlcnRpY2FsIGEgPiBzcGFuIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5tZW51LWJvcmRlcmVkIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLm1lbnUubWVudS1ib3JkZXJlZCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5tZW51Lm1lbnUtaG92ZXIgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAucG9zaXRpb24tdG9wLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIC5yZXZlYWwge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICB0aGVhZCB0ciwgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLCB0aGVhZCB0ZCwgdGZvb3QgdGgsIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi50b3AtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50b3AtYmFyOjpiZWZvcmUsIC50b3AtYmFyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC50b3AtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cbiAgLnRvcC1iYXItdGl0bGUgLm1lbnUtaWNvbiB7XG4gICAgYm90dG9tOiAycHg7IH1cblxuLnRvcC1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJzsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKiBFTkQ6IFZFTkRPUiAqL1xuLyogU1RBUlQ6IEdMT0JBTCAqL1xuLyogU1RBUlQ6IFRFTVBPUkFSWSAqL1xuLyogRU5EOiBURU1QT1JBUlkgKi9cbi8qIFNUQVJUOiBGTE8gSUNPTlMgKi9cbmJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIge1xuICAvKiAn74WnJyAqL1xuICAvKiAn74yDJyAqL1xuICAvKiAn74yGJyAqL1xuICAvKiAn74yJJyAqL1xuICAvKiAn74yMJyAqL1xuICAvKiAn74yPJyAqL1xuICAvKiAn74ySJyAqL1xuICAvKiAn74yVJyAqL1xuICAvKiAn74yYJyAqL1xuICAvKiAn74ybJyAqL1xuICAvKiAn74ytJyAqL1xuICAvKiAn7qCEJyAqL1xuICAvKiAn7qCFJyAqL1xuICAvKiAn7qCGJyAqLyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLXlvdXR1YmU6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnWVQnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWZsaWNrcjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdGSyc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tdmltZW86bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnVkknOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLXR3aXR0ZXI6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnVFcnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWZhY2Vib29rOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0ZCJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1ncGx1czpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdHUCc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tcGludGVyZXN0Om5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1BJJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi10dW1ibHI6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnVE0nOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWxpbmtlZGluOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0xLJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1kcmliYmJsZTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdEQic7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24taW5zdGFncmFtOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0lHJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi15YWhvbzpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdZSCc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tZGVsaWNpb3VzOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0RFJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1tYWlsOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ01MJzsgfVxuXG4vKiBFTkQ6IEZMTyBJQ09OUyAqL1xuLyogU1RBUlQ6IENPTE9SUyAqL1xuLyogRU5EOiBDT0xPUlMgKi9cbi8qIFNUQVJUOiBXSURUSCBWQVJJQUJMRVMgKi9cbi8qIEVORDogV0lEVEggVkFSSUFCTEVTICovXG4vKiBTVEFSVDogTUlYSU5TICovXG4vKiBFbmQ6IFRyYW5zaXRpb25zICovXG4vKiBFbmQ6IFRyYW5zaXRpb25zICovXG4vKiBTdGFydDogQmFja2dyb3VuZCBpbWFnZSAqL1xuLyogRW5kOiBCYWNrZ3JvdW5kIGltYWdlICovXG4vKiBTdGFydDogQm94IFNpemluZyAqL1xuLyogRW5kOiBCb3ggc2l6aW5nICovXG4vKiBTVEFSVDogUmVzcG9uc2l2ZSBJbWFnZXMgRm9yIEJhY2tncm91bmQgKi9cbi8qIEVORDogUmVzcG9uc2l2ZSBJbWFnZXMgRm9yIEJhY2tncm91bmQgKi9cbi5mbG8tZ2xvYmFsLWNsaWNrYWJsZSB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZsby1nbG9iYWwtY2xpY2thYmxlLXdpdGgtYW5pbWF0aW9uIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cywgY29sb3IgMC41cywgb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWdsb2JhbC1jbGlja2FibGUtd2l0aC1hbmltYXRpb246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuXG4vKiBFTkQ6IE1JWElOUyAqL1xuLyogU1RBUlQ6IEdMT0JBTCBTVFlMRVMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAxLjI1dnc7IH0gfVxuXG4qIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4qOm5vdCguZmxvLXBvc3QpIGE6Zm9jdXMsICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSBhOmZvY3VzIHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuKjpub3QoLmZsby1wb3N0KSAuaG92ZXItYmxvY2ssICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSAuaG92ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAqOm5vdCguZmxvLXBvc3QpIC5ob3Zlci1ibG9jayBmaWd1cmUsICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSAuaG92ZXItYmxvY2sgZmlndXJlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgKjpub3QoLmZsby1wb3N0KSAuaG92ZXItYmxvY2sgZmlndXJlOmhvdmVyLCAqOm5vdCguZmxvLXBvc3RfX3N0eWxlcykgLmhvdmVyLWJsb2NrIGZpZ3VyZTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgKjpub3QoLmZsby1wb3N0KSAuaG92ZXItYmxvY2s6aG92ZXIsICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSAuaG92ZXItYmxvY2s6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbio6bm90KC5mbG8tcG9zdCkgdWwsICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luOiAwOyB9XG5cbltjbGFzc149XCJmbG8taWNvbi1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBmbG8taWNvbi1cIl06YmVmb3JlIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuXG5idXR0b24ge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBpbml0aWFsOyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gIHdpZHRoOiBpbml0aWFsOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJvdy1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogU1RBUlQ6IElOUFVUUyAqL1xuaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbnRleHRhcmVhIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOjpwbGFjZWhvbGRlcixcbiAgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOmZvY3VzLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLFxuICB0ZXh0YXJlYTpmb2N1cyxcbiAgdGV4dGFyZWE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKS5mbG8tbm8tc3R5bGluZyxcbiAgdGV4dGFyZWEuZmxvLW5vLXN0eWxpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nOmhvdmVyLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nOmZvY3VzLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nOmhvdmVyLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDsgfVxuXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogMDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIGxldHRlci1zcGFjaW5nIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7IH1cblxuLyogRU5EOiBJTlBVVFMgKi9cbi8qIFNUQVJUOiBCVVRUT05TICovXG4uZmxvLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWluLXdpZHRoOiA4LjQzNzVyZW07XG4gIHBhZGRpbmc6IDEuMDYyNXJlbSAzLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIG1pbi1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mbG8tYnV0dG9uOm5vdCguZmxvLWJ1dHRvbi0td2l0aG91dC1ib3JkZXIpLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdCguZmxvLWJ1dHRvbi0td2l0aG91dC1ib3JkZXIpIHtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi8qIEVORDogQlVUVE9OUyAqL1xuLyogRU5EOiBHTE9CQUwgU1RZTEVTICovXG4vKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC8qIFNUQVJUOiBBUFBFQVIgQU5JTUFUSU9OICovXG4gIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2ssXG4gIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudmlzaWJsZSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcuNXJlbSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKjpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCk6bnRoLWNoaWxkKDFuKSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuMjVzLCB0cmFuc2Zvcm0gMC41cywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgybikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cyAwLjFzLCB0cmFuc2Zvcm0gMC41cyAwLjFzLCBjb2xvciAwLjVzOyB9XG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jay52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKi52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKS52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkudmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC8qIEVORDogQVBQRUFSIEFOSU1BVElPTiAqLyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC8qIFNUQVJUOiBBUFBFQVIgQU5JTUFUSU9OICovXG4gIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrLFxuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKSxcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqLFxuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXIsXG4gIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcik6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudmlzaWJsZSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcuNXJlbSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKjpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCk6bnRoLWNoaWxkKDFuKSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuMjVzLCB0cmFuc2Zvcm0gMC41cywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgybikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cyAwLjFzLCB0cmFuc2Zvcm0gMC41cyAwLjFzLCBjb2xvciAwLjVzOyB9XG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2sudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKS52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKi52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXIudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkudmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC8qIEVORDogQVBQRUFSIEFOSU1BVElPTiAqLyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jayxcbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKixcbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKSxcbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLFxuICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnZpc2libGUpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3LjVyZW0pO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgxbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cywgdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMgMC4xcywgdHJhbnNmb3JtIDAuNXMgMC4xcywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICoudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi8gfVxuXG4vKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbi8qIFNUQVJUOiBTSVRFIE1BWCBXSURUSCAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaHRtbC0tc3R5bGUtZml4ZWQgLmZsby1ibG9jazpub3QoLmZsby1ibG9jay0tZnVsbC13aWR0aCksXG4gIC5odG1sLS1zdHlsZS1maXhlZCAuZmxvLWZvb3RlciB7XG4gICAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuICBodG1sLmh0bWwtLXN0eWxlLWZpeGVkIC5mbG8tZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi8qIEVORDogU0lURSBNQVggV0lEVEggKi9cbi8qIFNUQVJUOiBXSURHRVRTICovXG4ud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLndpZGdldCAuc2VhcmNoLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDA2MjVyZW07IH1cbiAgICAud2lkZ2V0IC5zZWFyY2gtZm9ybSAuc2NyZWVuLXJlYWRlci10ZXh0LFxuICAgIC53aWRnZXQgLnNlYXJjaC1mb3JtIC5zZWFyY2gtc3VibWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndpZGdldCAud2lkZ2V0LS1pbWFnZS1saW5rX19idXR0b24ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9pbWFnZV9saW5rLCAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9zb2NpYWxfbGlua3MsIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X2ZlYXR1cmVkX2l0ZW1zLCAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9zdWJzY3JpYmUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9pbWFnZV9saW5rIC53aWRnZXQtLWltYWdlLWxpbmtfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfaW1hZ2VfbGluayAud2lkZ2V0LS1pbWFnZS1saW5rX190aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNjg3NXJlbTsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9pbWFnZV9saW5rIC53aWRnZXQtLWltYWdlLWxpbmtfX3RleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNjg3NXJlbTsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9pbWFnZV9saW5rIC53aWRnZXQtLWltYWdlLWxpbmtfX2J1dHRvbiB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjEyNXJlbSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9zb2NpYWxfbGlua3MgLndpZGdldC0tc29jaWFsLWxpbmtzX19tYWluLXdyYXAge1xuICAgIHBhZGRpbmc6IDIuMzEyNXJlbSAyLjY4NzVyZW07IH1cbiAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfc29jaWFsX2xpbmtzIC53aWRnZXQtLXNvY2lhbC1saW5rc19fcHJldGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfc29jaWFsX2xpbmtzIC53aWRnZXQtLXNvY2lhbC1saW5rc19fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3NvY2lhbF9saW5rcyAud2lkZ2V0LS1zb2NpYWwtbGlua3NfX3RpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7IH1cbiAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfc29jaWFsX2xpbmtzIC53aWRnZXQtLXNvY2lhbC1saW5rc19fd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMS42ODc1cmVtOyB9XG4gIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3NvY2lhbF9saW5rcyAuZmxvLXNvY2lhbC1saW5rc19fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3NvY2lhbF9saW5rcyAuZmxvLXNvY2lhbC1saW5rc19fbGluazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfZmVhdHVyZWRfaXRlbXMgLndpZGdldC0tZmVhdHVyZWQtaXRlbXNfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi4xMjVyZW07IH1cbiAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfZmVhdHVyZWRfaXRlbXMgLndpZGdldC0tZmVhdHVyZWQtaXRlbXNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9XG4gICAgLndpZGdldC53aWRnZXRfZmxvX2x2eV93aWRnZXRfZmVhdHVyZWRfaXRlbXMgLndpZGdldC0tZmVhdHVyZWQtaXRlbXNfX2l0ZW0gLndpZGdldC0tZmVhdHVyZWQtaXRlbXNfX2l0ZW0td3JhcCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X2ZlYXR1cmVkX2l0ZW1zIC53aWRnZXQtLWZlYXR1cmVkLWl0ZW1zX19pdGVtIC53aWRnZXQtLWZlYXR1cmVkLWl0ZW1zX19pdGVtLXdyYXAgLndpZGdldC0tZmVhdHVyZWQtaXRlbXNfX2l0ZW0tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjE4NzVyZW07IH1cbiAgICAgIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X2ZlYXR1cmVkX2l0ZW1zIC53aWRnZXQtLWZlYXR1cmVkLWl0ZW1zX19pdGVtIC53aWRnZXQtLWZlYXR1cmVkLWl0ZW1zX19pdGVtLXdyYXAgLndpZGdldC0tZmVhdHVyZWQtaXRlbXNfX2l0ZW0taW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9zdWJzY3JpYmUgLndpZGdldF9fZmxvLWZvcm0tLW5ld3NsZXR0ZXJfX21haW4td3JhcCB7XG4gICAgcGFkZGluZzogMS44MTI1cmVtIDIuODc1cmVtIDIuNTYyNXJlbSAyLjg3NXJlbTsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9zdWJzY3JpYmUgLndpZGdldF9fZmxvLWZvcm0tLW5ld3NsZXR0ZXJfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS40Mzc1cmVtOyB9XG4gIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3N1YnNjcmliZSAud2lkZ2V0X19mbG8tZm9ybS0tbmV3c2xldHRlcl9fdGV4dC13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM1cmVtOyB9XG4gIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3N1YnNjcmliZSBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAud2lkZ2V0LndpZGdldF9mbG9fbHZ5X3dpZGdldF9zdWJzY3JpYmUgLndpZGdldF9fZmxvLWZvcm0tLW5ld3NsZXR0ZXJfX2Zvcm0tbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42ODc1cmVtOyB9XG4gIC53aWRnZXQud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3N1YnNjcmliZSAud2lkZ2V0X19mbG8tZm9ybS0tbmV3c2xldHRlcl9fZm9ybS1zdWJtaXQge1xuICAgIG1heC13aWR0aDogMTIuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luLXRvcDogMi44NzVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMC45Mzc1cmVtOyB9XG5cbi53aWRnZXRfc2VhcmNoIGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndpZGdldF9zZWFyY2ggZm9ybTphZnRlciB7XG4gICAgY29udGVudDogJ1xcZTgxNyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZsby1pY29uc1wiO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi53aWRnZXRfc2VhcmNoIGlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDEuMTI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0JEQkRCRCAhaW1wb3J0YW50OyB9XG5cbi8qIEVORDogV0lER0VUUyAqL1xuLyogU1RBUlQ6IFotSU5ERVggTUFQICovXG4uZmxvLXBhZ2UtaGFzLXNpZGViYXJfX3NpZGViYXIge1xuICB6LWluZGV4OiA5OyB9XG5cbi5mbG8tc2xpZGVyLWFycm93IHtcbiAgei1pbmRleDogOTsgfVxuXG4uZmxvLXBhZ2UtaGVyb19fbG9nbyB7XG4gIHotaW5kZXg6IDExOyB9XG5cbi5mbG8taGVhZGVyIHtcbiAgei1pbmRleDogOTk5OTk5OyB9XG5cbi5mbG8tcGFnZS1hYm91dC10eXBlLWFfX2ZlYXR1cmVkLWluZm8ge1xuICB6LWluZGV4OiA5OyB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTFfX25hdmlnYXRpb24ge1xuICB6LWluZGV4OiAzOyB9XG5cbi8qIEVORDogWi1JTkRFWCBNQVAgKi9cbmJvZHkge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW47IH1cblxuLm92ZXJmbG93LWhpZGUge1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLyogRU5EOiBIVE1MIE9WRVJGTE9XIEZPUiBTQUZBUkkgRklYICovXG4vKiBTVEFSVDogRklYIFJPV1MgSU4gU0FGQVJJICovXG4ucm93OmJlZm9yZSB7XG4gIHdpZHRoOiAwOyB9XG5cbi8qIEVORDogRklYIFJPV1MgSU4gU0FGQVJJICovXG4vKiBTVEFSVDogRk9VTkRBVElPTiBSRVdSSVRFUyAqL1xuYm9keSBhIHtcbiAgb3V0bGluZS13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLyogRU5EOiBGT1VOREFUSU9OIFJFV1JJVEVTICovXG4vKiBTVEFSVDogQ09OVEFDVCBGT1JNIERST1BET1dOIFNUWUxFUyAqL1xuLmZsby1mb3JtICoge1xuICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBuby1jb21tb24tbGlnYXR1cmVzOyB9XG5cbi5mbG8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uZmxvLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIEVORDogQ09OVEFDVCBGT1JNIERST1BET1dOIFNUWUxFUyAqL1xuLyogRU5EOiBHTE9CQUwgKi9cbi8qIFNUQVJUOiBDT01QT05FTlRTIChLRUVQIFRISVMgT05FIEFUIFRIRSBCT1RUT00gQUxMIFRIRSBUSU1FKSAqL1xuLmNvbW1lbnRzLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDUuMzEyNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLmZsby1pY29uLXJlcGx5IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9jayAucGFyZW50IC5jb21tZW50IC5jb21tZW50LWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMi4xODc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg3NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLnBhcmVudCAuY29tbWVudC5kZXB0aC0zIC5jb21tZW50LWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtNCAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLnBhcmVudCAuY29tbWVudC5kZXB0aC01IC5jb21tZW50LWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLnBhcmVudCAuY29tbWVudC5kZXB0aC01IC5jb21tZW50LWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogNS45Mzc1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMS4zNzVyZW0gMDsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtbmFtZS1hbmQtcmVwbHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LWF2YXRhci1hbmQtbmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb21tZW50cy1ibG9jayAuZmxvLWxvdmVseTItY29tbWVudHMtYmxvY2tfX3JlcGx5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5jb21tZW50cy1ibG9jayAuZmxvLWxvdmVseTItY29tbWVudHMtYmxvY2tfX3JlcGx5IC5jb21tZW50LXJlcGx5LWxpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrIC5mbG8tbG92ZWx5Mi1jb21tZW50cy1ibG9ja19fcmVwbHk6aG92ZXIge1xuICAgICAgY29sb3I6ICNiYmJiYmI7IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LWJsb2NrLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtYXZhdGFyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjg3NXJlbTsgfVxuICAgIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1hdmF0YXIgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1yZXNwb25kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtcmVzcG9uZCBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19zaG93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLWhpZGUtYnV0dG9uIC5mbG8taWNvbiB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXNob3ctYnV0dG9uIC5mbG8taWNvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1oaWRlLWJ1dHRvbiwgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXNob3ctYnV0dG9uLCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIHZpc2liaWxpdHkgMC41cywgaGVpZ2h0IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC0taGlkZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc4MTI1cmVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuY29tbWVudHMtYmxvY2tfX2NvbGxhcHNlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb21tZW50cy1ibG9ja19fcG9zdHMge1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMC41cywgb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1leHBhbmRlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItc2hvdy1idXR0b24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMDsgfVxuICAuY29tbWVudHMtYmxvY2stLWV4cGFuZGVkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1oaWRlLWJ1dHRvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogaW5oZXJpdDsgfVxuICAuY29tbWVudHMtYmxvY2stLWV4cGFuZGVkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsLS1zaG93IHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb21tZW50cy1ibG9jay0tZXhwYW5kZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLWhpZGUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXNob3ctYnV0dG9uIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLWhpZGUtYnV0dG9uIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY29tbWVudHMtYmxvY2stLWNvbGxhcHNlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC0tc2hvdyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29tbWVudHMtYmxvY2stLWNvbGxhcHNlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC0taGlkZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY29tbWVudHMtYmxvY2stLWNvbGxhcHNlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSB7XG4gICAgcGFkZGluZy10b3A6IDIuNzVyZW07XG4gICAgLyogU1RBUlQ6IFBBUlNMRVkgKi9cbiAgICAvKiBFTkQ6IFBBUlNMRVkgKi8gfVxuICAgIC5jb21tZW50cy1ibG9ja19fcG9zdC1mb3JtIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fcG9zdC1mb3JtIC5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrX19wb3N0LWZvcm0gLnBhcnNsZXktcmVxdWlyZWQge1xuICAgICAgY29sb3I6IHJlZDtcbiAgICAgIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tdGl0bGUtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLXRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi4yNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQ6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5mb3JtLXN1Ym1pdCB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjg3NXJlbTsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fZm9ybS1maWVsZCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNS42MjVyZW07IH1cbiAgICAgIC5jb21tZW50cy1ibG9ja19fZm9ybS1maWVsZCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtYmxvY2stY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLWZpZWxkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5jb21tZW50cy1ibG9ja19fZm9ybS1maWVsZCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gICAgICAgIC5jb21tZW50cy1ibG9ja19fZm9ybS1maWVsZCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fcG9zdC1mb3JtIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG4uY29tbWVudC1yZXBseS10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY29tbWVudC1yZXBseS10aXRsZSAuZmxvLWljb24tY2xvc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gaDIuc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbiAubmF2LWxpbmtzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiAuc2NyZWVuLXJlYWRlci10ZXh0LCAuY29tbWVudHMtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQgLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mbG8tYmxvY2sge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay0tZnVsbC13aWR0aCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmZsby1ibG9jay0tbm90LWZvdW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gIC5mbG8tYmxvY2stLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmxvLWJsb2NrX19oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG4gIC5mbG8tYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgIC5mbG8tYmxvY2tfX2NvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jazpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAzLjEyNXJlbSA5LjA2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5mbG8tYmxvY2stLW5vLXRvcC1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLS1mdWxsLXdpZHRoIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLS1tZWRpdW0td2lkdGggLmZsby1ibG9ja19fY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0Ny41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stLWhlYWRlci1oaWRkZW4tb24tZGVza3RvcCAuZmxvLWJsb2NrX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cbiAgICAgIC5mbG8tYmxvY2s6bm90KC5mbG8tYmxvY2stLWZ1bGwtd2lkdGgpIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS45Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4uZmxvLWZvcm0gaW5wdXRbdHlwZV0ge1xuICBtYXJnaW46IDA7IH1cblxuLmZsby1mb3JtX19maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNDY4NzVyZW07IH1cbiAgLmZsby1mb3JtX19maWVsZDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZsby1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cblxuLmZsby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tbW9kYWwgLnRoeC1tc2cge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTE4MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLmNvbnRhY3QtcmVzcG9uc2UgcCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzgxMjVyZW07XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjZjlmOWY5O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICNkZGRjZGI7IH1cblxuKltkYXRhLWxxaXAtc3JjXSB7XG4gIHRyYW5zaXRpb246IGZpbHRlciAwLjVzLCBiYWNrZ3JvdW5kLWltYWdlIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgKltkYXRhLWxxaXAtc3JjXTpub3QoLmZsby1scWlwLS1vcmlnaW5hbC1sb2FkZWQpIHtcbiAgICBmaWx0ZXI6IGJsdXIoNDBweCk7IH1cblxuLmZsby1wYWdlLWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNXJlbSk7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mbG8tcGFnZS1oZWFkLS13aXRoLWJvcmRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmJiYmI7IH1cbiAgLmZsby1wYWdlLWhlYWRfX2Ryb3Bkb3duIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24gLmZsby1kcm9wZG93bi1tZW51IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLXBhZ2UtaGVhZC0taGFzLWRyb3Bkb3duLW1lbnUgLmZsby1wYWdlLWhlYWRfX2Ryb3Bkb3duIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5mbG8tcGFnZS1oZWFkX19kZWNvcmF0aW9uLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA1LjU1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1wYWdlLWhlYWRfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXBhZ2UtaGVhZF9fdGl0bGUge1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIHBhZGRpbmc6IDIuNjg3NXJlbSAwOyB9XG4gICAgLmZsby1wYWdlLWhlYWRfX2xlZnQtc2lkZSB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLmZsby1wYWdlLWhlYWRfX2Ryb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuZmxvLXBhZ2UtaGVhZCAuZmxvLWRyb3Bkb3duLW1lbnVfX2J0biB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tcGFnZS1oZWFkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICAgICAgcGFkZGluZy10b3A6IDIuNjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1wYWdlLWhlYWQgLmZsby1kcm9wZG93bi1tZW51X19idG4ge1xuICAgICAgICBwYWRkaW5nOiAxLjQzNzVyZW0gMCAyLjY4NzVyZW07IH0gfVxuXG4uZmxvLXNoYXJlLXJvbGxvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZsby1zaGFyZS1yb2xsb3Zlcl9fdHJpZ2dlciB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zaGFyZS1yb2xsb3Zlcl9fc2hhcmUtd3JhcCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgLmZsby1zaGFyZS1yb2xsb3Zlcl9fc2hhcmUtd3JhcCBhIHtcbiAgICAgIG1hcmdpbjogMCAwLjQzNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2hhcmUtcm9sbG92ZXIudmlzaWJsZSAuZmxvLXNoYXJlLXJvbGxvdmVyX190cmlnZ2VyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mbG8tc2hhcmUtcm9sbG92ZXIudmlzaWJsZSAuZmxvLXNoYXJlLXJvbGxvdmVyX19zaGFyZS13cmFwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCxcbi5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlLFxuLnNsaWNrLXNsaWRlciBhIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNsaWNrLWFycm93IHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mbG8tdmlkZW8tZW1iZWQtZHVtbXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZsby12aWRlby1lbWJlZC1kdW1teV9fdmlkZW8tYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IDQuMzc1cmVtO1xuICAgIGhlaWdodDogNC4zNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNC4zNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgdG9wIDAuNXMsIG9wYWNpdHkgMC41cywgYm9yZGVyIDAuNXMsIHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkLWR1bW15X192aWRlby1idXR0b246aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC40OyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtZHVtbXlfX3ZpZGVvLWJ1dHRvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby12aWRlby1lbWJlZC1kdW1teV9fdmlkZW8tYnV0dG9uLWljb24tLXBsYXkge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLXZpZGVvLWVtYmVkLWR1bW15X192aWRlby1idXR0b24ge1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAzcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjcxODg2cmVtOyB9IH1cblxuLmZsby12aWRlby1lbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkX19zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkX19zY3JlZW4gaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogNC4zNzVyZW07XG4gICAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0LjM3NXJlbTtcbiAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCB0b3AgMC41cywgb3BhY2l0eSAwLjVzLCBib3JkZXIgMC41cywgdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbi0tcGxheSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uLWljb24tLXN0b3Age1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3NjcmVlbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgdG9wOiA1MCU7IH1cbiAgLmZsby12aWRlby1lbWJlZDpub3QoLmZsby12aWRlby1lbWJlZC0tbG9hZGVkKSAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbi0tcGxheSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQgLmZsby12aWRlby1lbWJlZF9fc2NyZWVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgIHRvcDogNi4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZsby12aWRlby1lbWJlZC0tbG9hZGVkIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogMi41cmVtOyB9IH1cbiAgLmZsby12aWRlby1lbWJlZC0tbG9hZGVkIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbi1pY29uLS1zdG9wIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZDpub3QoOmhvdmVyKSAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtOyB9IH1cblxuLmZsby1zb2NpYWwtbGlua3MtdHlwZS1hIC5mbG8tc29jaWFsLWxpbmtzX19saW5rIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLXNvY2lhbC1saW5rc19fbGluazpiZWZvcmUge1xuICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8tc29jaWFsLWxpbmtzX19saW5rOmJlZm9yZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtOyB9XG5cbi5mbG8tYmxvY2stYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stYnV0dG9uX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtIDIuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19pbWFnZS13cmFwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9faGVhZGVyLWFyZWEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19oZWFkZXItYXJlYSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19jYXRlZ29yaWVzLXdyYXAge1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA0Ljg3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2xpbmtzLXRpdGxlIHtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19saW5rcy1kaXZpZGVyIHtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2ltYWdlLXdyYXAge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDIuNTYyNXJlbSAwIDIuNTYyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNDIuODIlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fY2F0ZWdvcmllcy13cmFwIHtcbiAgICBwYWRkaW5nOiAxLjQzNzVyZW0gMCAxLjQzNzVyZW0gMi4wNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19jYXRlZ29yaWVzLXdyYXAtLXdpdGgtaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMi41NjI1cmVtO1xuICAgICAgcmlnaHQ6IDIuNTYyNXJlbTtcbiAgICAgIGJvdHRvbTogMi41NjI1cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUuMDYyNXJlbSk7IH1cbiAgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19saW5rcy1kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgbWFyZ2luOiAwIDIuNTYyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7IH1cbiAgICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2xpbmtzLWRpdmlkZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fY2F0ZWdvcnkge1xuICAgIG1hcmdpbi1yaWdodDogMi44MTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9faW1hZ2Utd3JhcCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2ltYWdlLWhpZGRlbi1tb2JpbGUgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19pbWFnZS13cmFwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMS5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9faW1hZ2UtaGlkZGVuLW1vYmlsZSAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2NhdGVnb3JpZXMtd3JhcCB7XG4gICAgdG9wOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwIDEuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2NhdGVnb3JpZXMtd3JhcCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fY2F0ZWdvcmllcy13cmFwLS13aXRoLWltYWdlIHtcbiAgICAgIHRvcDogLTIuNDM3NXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjg3NXJlbSk7IH1cbiAgICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2NhdGVnb3JpZXMtd3JhcC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fbGF5b3V0LS1kcm9wZG93biAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2xpbmtzLWRpdmlkZXIge1xuICAgICAgd2lkdGg6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fY2F0ZWdvcmllcy13cmFwLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19sYXlvdXQtLWRyb3Bkb3duIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fbGlua3MtbGlzdCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fY2F0ZWdvcmllcy13cmFwLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19sYXlvdXQtLWRyb3Bkb3duLmV4cGFuZGVkIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fbGlua3MtZGl2aWRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19jYXRlZ29yaWVzLXdyYXAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2xheW91dC0tZHJvcGRvd24uZXhwYW5kZWQgLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19saW5rcy1saXN0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXItMV9fY2F0ZWdvcmllcy13cmFwLS1uby1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2xpbmtzLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAyLjEyNXJlbTtcbiAgICBtYXJnaW46IDEuMjVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2xpbmtzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTFfX2NhdGVnb3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudCB7XG4gIG1hcmdpbi1ib3R0b206IDIuMzEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciB7XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAxLjA2MjVyZW07IH1cbiAgLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudC1hdmF0YXIsXG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDMuMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtYXZhdGFyIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtYXV0aG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtZGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIi9cIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtdGV4dCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtcmVwbHkge1xuICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3Qtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX190aXRsZSB7XG4gICAgd2lkdGg6IDIyLjYyJTtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19saXN0IHtcbiAgICB3aWR0aDogNzcuMzglO1xuICAgIG1hcmdpbi1ib3R0b206IDUuNDM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb21tZW50IC5jb21tZW50IC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICAgIHBhZGRpbmc6IDMuMjVyZW0gMi4zNzVyZW07IH1cbiAgLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudC1sZWZ0LXdyYXAge1xuICAgIHdpZHRoOiAxMS4yNXJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0td3JhcCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLXRpdGxlIHtcbiAgICB3aWR0aDogMjIuNjIlOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHMgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgd2lkdGg6IDc3LjM4JTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAtLXNtYWxsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDIuODEyNXJlbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4xMDE4OHJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC13cmFwLS1zbWFsbDpub3QoOm50aC1jaGlsZCgzKSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0LjIxODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tYmlnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjk3MDYzcmVtOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX19saXN0IC5jb21tZW50LXJlc3BvbmQgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC0tc21hbGwsIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLS1iaWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzIC5mb3JtLXN1Ym1pdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1jb21tZW50c19fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50IC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNTYyNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHMgLmZvcm0tc3VibWl0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19jb250YWN0LWRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fY29udGFjdC1kZXNjcmlwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19jb250YWN0LWRlc2NyaXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEgLmZsby1mb3JtIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEgLmZsby1mb3JtIGlucHV0LCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMSAuZmxvLWZvcm0gbGFiZWwsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xIC5mbG8tZm9ybSB0ZXh0YXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19jb250YWN0LWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2ltYWdlLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2hlYWRlci1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19oZWFkZXItYXJlYSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2xlZnQtc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19zY3JvbGwtZG93biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19zb2NpYWwtbGlua3MgYSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0td3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIGZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLnN1Ym1pdC1yb3cge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSAuZmxvLXN1Ym1pdC1idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMi40Mzc1cmVtO1xuICAgICAgcGFkZGluZzogMC43NXJlbSAxLjQzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiAyLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5lcnJvciB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zdWJ0aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19maWVsZHMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZCBpbnB1dCxcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZCBsYWJlbCxcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgdGV4dGFyZWEge1xuICAgICAgbWluLWhlaWdodDogNi4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zdWJtaXQge1xuICAgIG1hcmdpbi10b3A6IDIuNDM3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNDM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMi42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19kZXNrdG9wLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbW9iaWxlLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fY29udGFjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZzogMCAxMS44NzVyZW07XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xOm5vdCguZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS0tbm8tc2Nyb2xsLWVmZmVjdCkgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2NvbnRhY3QtZGVzY3JpcHRpb24ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEtLW5vLXNjcm9sbC1lZmZlY3QgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19oZWFkZXItYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbGVmdC1zaWRlIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjgxMjVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3RpdGxlLXBhcmFncmFwaDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc2Nyb2xsLWRvd24td3JhcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19hcnJvdy1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc2Nyb2xsLWRvd24ge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc29jaWFsLWxpbmtzLXdyYXA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc29jaWFsLWxpbmtzLXByZXRpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3NvY2lhbC1saW5rcy10aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbG9jYXRpb24tcHJldGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2xvY2F0aW9uLXRpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0td3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwdmg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXdyYXAgLnBzX19yYWlsLXgsXG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXdyYXAgLnBzX19yYWlsLXkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiA0LjVyZW0gMTguODc1cmVtIDVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19maWVsZHMtd3JhcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuODEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZC0taGFsZi13aWR0aCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4zNzVyZW0pOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQtLWhhbGYtd2lkdGg6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkOm50aC1jaGlsZCgxKSwgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgaW5wdXQsXG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkIGxhYmVsLFxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS0tbm8tc2Nyb2xsLWVmZmVjdCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xLS1uby1zY3JvbGwtZWZmZWN0IC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXdyYXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2NvbnRhY3QtZGVzY3JpcHRpb24ge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMTMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZGVza3RvcC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX21vYmlsZS13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4taGVpZ2h0OiA4NXZoOyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19tb2JpbGUtd3JhcCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc29jaWFsLWxpbmtzLXdyYXAsXG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19tb2JpbGUtd3JhcCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbG9jYXRpb24td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19tb2JpbGUtd3JhcCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbG9jYXRpb24td3JhcCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19tb2JpbGUtd3JhcCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc2Nyb2xsLWRvd24td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX21vYmlsZS13cmFwIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19sZWZ0LXNpZGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19tb2JpbGUtd3JhcCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbGVmdC1zaWRlIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19jb250YWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2NvbnRhY3QtZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbGVmdC1zaWRlIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fcmlnaHQtc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19zb2NpYWwtbGlua3Mtd3JhcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3NvY2lhbC1saW5rcy1wcmV0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3NvY2lhbC1saW5rcy10aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19sb2NhdGlvbi1wcmV0aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fbG9jYXRpb24tdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19maWVsZHMtd3JhcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuODEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0td3JhcCAuZmxvLWZvcm0gLmZpZWxkLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yIC5mbG8tZm9ybSBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yIC5mbG8tZm9ybSBpbnB1dCwgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTIgLmZsby1mb3JtIGxhYmVsLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiAuZmxvLWZvcm0gdGV4dGFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXNlY3Rpb24tLWN1c3RvbSAuc3VibWl0LXJvdyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5mbG8tc3VibWl0LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjQzNzVyZW07XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNDM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXNlY3Rpb24tLWN1c3RvbSB0ZXh0YXJlYSB7XG4gICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmVycm9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZmllbGRzLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODEyNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQgaW5wdXQsXG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQgbGFiZWwsXG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQgdGV4dGFyZWEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHRleHRhcmVhIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYuMjVyZW07IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiAyLjQzNzVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDIuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMCAxOC44NzVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19maWVsZHMtd3JhcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuODEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZC0taGFsZi13aWR0aCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4zNzVyZW0pOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQtLWhhbGYtd2lkdGg6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkOm50aC1jaGlsZCgxKSwgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQgaW5wdXQsXG4gICAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIGxhYmVsLFxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19maWVsZHMtd3JhcDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjgxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS13cmFwIC5mbG8tZm9ybSAuZmllbGQtcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fdGl0bGUtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0xX190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0xX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYSB7XG4gIC8qLUFkZCBib3R0b20gbWFyZ2luIHRvIGFsbCBjaGlsZHJlbiBleGNlcHQgZm9yIHRoZSBsYXN0IDItKi9cbiAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWE6bnRoLWxhc3QtY2hpbGQoMSksIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYTpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0xX19xdWVzdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fYW5zd2VyIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19mYXEtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYTpudGgtY2hpbGQob2RkKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuODEyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fc2luZ2xlLXFhOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX2RpdmlkZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fc2luZ2xlLXFhOm50aC1sYXN0LWNoaWxkKDEpLCAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWE6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fZGl2aWRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19pbWFnZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1zbGlkZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hbnN3ZXIgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX25hdmlnYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fZmFxLWNvdW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2N1cnJlbnQtaXRlbS1udW1iZXIge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fbnVtYmVyLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX190b3RhbC1pdGVtLW51bWJlciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiA1LjQzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNS42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3LjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19xdWVzdGlvbnMtd3JhcCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWluLWhlaWdodDogMzQuMzEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4LjY4NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX3NpbmdsZS1xYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX3F1ZXN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAxLjQwNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hbnN3ZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNDA2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX25hdmlnYXRpb24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiAzLjE4NzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fbmF2aWdhdGlvbi0taGlkZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fZmFxLWNvdW50ZXIge1xuICAgICAgICBtYXJnaW46IDAgOC43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgICB3aWR0aDogMTEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2Fycm93IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2Fycm93OmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICAgICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9faW1hZ2Utb3ZlcmxheS0taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1zbGlkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fZmFxLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19xdWVzdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX25hdmlnYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fZmFxLWNvdW50ZXIge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19udW1iZXItZGl2aWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hcnJvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzX190aXRsZS13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3NfX2ZlYXR1cmVkLWxpbmtzLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3NfX2ZlYXR1cmVkLWxpbmsge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3Mge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rc19fdGl0bGUtd3JhcCB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzX19mZWF0dXJlZC1saW5rcy13cmFwOmhvdmVyIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3NfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzX19mZWF0dXJlZC1saW5rcy13cmFwOmhvdmVyIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3NfX2ZlYXR1cmVkLWxpbms6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rc19fZmVhdHVyZWQtbGluayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gdmFyKC0tbnVtYmVyLW9mLWNvbHVtbnMpKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rc19fdGl0bGUtd3JhcCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3NfX2ZlYXR1cmVkLWxpbmtzLXdyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLS10aXRsZS1hcmVhLXBvc2l0aW9uLWJlbG93IC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLS10aXRsZS1hcmVhLXBvc2l0aW9uLWJlbG93IC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlLWFyZWEge1xuICBvcmRlcjogMTsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2NhdGVnb3J5IHtcbiAgb3BhY2l0eTogMC40OyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2NvdW50ZXItd3JhcCB7XG4gIGhlaWdodDogMS44NzVyZW07IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fY291bnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2NvdW50ZXItc2VwYXJhdG9yIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICBtYXJnaW46IDAgMS4yNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgYm9yZGVyLXJhZGl1czogNDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQ7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3cgaSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLXByZXYgaTpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19hcnJvdy0tbmV4dCBpOmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC4zZW07IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0NXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMS0tdGl0bGUtYXJlYS1wb3NpdGlvbi1iZWxvdyAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX190aXRsZS1hcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEtLXN0dWNrLXRvLXRvcC1kaXNhYmxlZCAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMS0tc3R1Y2stdG8tdG9wLWRpc2FibGVkIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX190aXRsZS1hcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDIuNXJlbSA5LjA2MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYmFjay1idXR0b24td3JhcCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19jb3VudGVyLXdyYXAge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9faW1hZ2VzLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19pbWFnZS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiA5LjA2MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19hcnJvdy0tbmV4dCB7XG4gICAgICByaWdodDogOS4wNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX190aXRsZS1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19iYWNrLWJ1dHRvbi13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX190aXRsZS13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19jb3VudGVyLXdyYXAge1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fY291bnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19pbWFnZXMtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLXByZXYge1xuICAgICAgICBsZWZ0OiAxLjkzNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93LS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDEuOTM3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTJfX2ltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMl9faW1hZ2UubGF6eSB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yX19pbWFnZS10aHVtYiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMl9faW1hZ2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3RleHQtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogNC41NjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3NoYXJlLWxpbmtzIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3Njcm9sbC1idXR0b24gaSB7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19zY3JvbGwtYnV0dG9uLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgNi4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNS4xNTYyNXJlbSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlcyB7XG4gICAgICB3aWR0aDogNTguNCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlIHtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGV4dC1hcmVhIHtcbiAgICAgIHdpZHRoOiA0MS42JTtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX190ZXh0LWFyZWEuaXNfc3R1Y2sge1xuICAgICAgICBsZWZ0OiA2LjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX190ZXh0LWFyZWEuaXNfc3R1Y2tbc3R5bGUqPVwiYWJzb2x1dGVcIl0ge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fc2hhcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjQzNzVyZW07XG4gICAgICBwYWRkaW5nOiAwLjEyNXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fc2hhcmUtbGFiZWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3NoYXJlLXNlcGFyYXRvciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogYXV0bztcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fc2hhcmUtbGlua3Mge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19zaGFyZS1saW5rcyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDAgMS45Mzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2VzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEuOTM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3NoYXJlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fc2hhcmUtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fc2hhcmUtc2VwYXJhdG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZmxvLWJsb2NrLWhvcml6b250YWwtZGl2aWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1ob3Jpem9udGFsLWRpdmlkZXJfX2xpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2staG9yaXpvbnRhbC1kaXZpZGVyX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgcGFkZGluZzogMCAzLjc1cmVtO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWhvcml6b250YWwtZGl2aWRlcl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX190aXRsZS1wYXJhZ3JhcGggcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEge1xuICAgICAgcGFkZGluZzogMCAyLjc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEtLWxlZnQtYWxpZ25lZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xLS1sZWZ0LWFsaWduZWQgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX190ZXh0LWFyZWEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi44MTI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMS0tbGVmdC1hbGlnbmVkIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMS0tcmlnaHQtYWxpZ25lZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEtLXJpZ2h0LWFsaWduZWQgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX190ZXh0LWFyZWEge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEtLXJpZ2h0LWFsaWduZWQgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19pbWFnZS13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC41cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNi43NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMS0tbGVmdC1hbGlnbmVkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMS0tbGVmdC1hbGlnbmVkIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xLS1yaWdodC1hbGlnbmVkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xLS1yaWdodC1hbGlnbmVkIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19idXR0b24td3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19idXR0b24ge1xuICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1iZy13cmFwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1iZy13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtYmctd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX190ZXh0LWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3ByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3ZlcnRpY2FsLWxpbmUge1xuICAgIG1hcmdpbjogMS41NjI1cmVtIDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX190aXRsZS1wYXJhZ3JhcGggcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDUuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTItLXRleHQtYXJlYS1vbi10aGUtbGVmdCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLS10ZXh0LWFyZWEtaW4tdGhlLWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTItLXRleHQtYXJlYS1vbi10aGUtcmlnaHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RleHQtYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDMuNzVyZW0gMi44MTI1cmVtO1xuICAgICAgICB3aWR0aDogMjUuMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtYmctd3JhcCwgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogMjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LXRvcCwgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtdG9wIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwLCAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LWJvdHRvbSAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1pbWctd3JhcCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LXRvcCAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RleHQtYXJlYSB7XG4gICAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1iZy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGV4dC1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3ZlcnRpY2FsLWxpbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19idXR0b24td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AsIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAsIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwIHtcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0xIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbmstaW1hZ2Utd3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMS42ODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xLS1oYXMtMS1pbWFnZSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEtLWhhcy0yLWltYWdlcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEtLWhhcy0zLWltYWdlcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDIxLjY4NzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLS1oYXMtdXJsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbmstLWhhcy11cmwgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLWltYWdlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMV9fbGluay0taGFzLXVybDpob3ZlciAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbmstaW1hZ2Uge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMV9fbGluazpudGgtY2hpbGQoMikge1xuICAgICAgICAgIHdpZHRoOiAxMy41cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbmstaW1hZ2Utd3JhcCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTMuNTYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLXN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbmstLWhhcy11cmwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFfX2xpbms6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB3aWR0aDogMTMuNTYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0xX19saW5rLWltYWdlLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMV9fbGluay1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmtzLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9faW1hZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0yIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMiAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2ltYWdlLWNvbnRlbnQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjVyZW0pO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC43NXJlbTtcbiAgbGVmdDogMC43NXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmtzLXdyYXAge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2ltYWdlLWxpbms6aG92ZXIgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19zdWJ0aXRsZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX3RpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19zdWJ0aXRsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmtzLXdyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19pbWFnZS1saW5rIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19pbWFnZS1saW5rcy1zbGlkZS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX3RpdGxlLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19lbGVtZW50cy13cmFwIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMy4zMTI1cmVtIDA7IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19uYXZpZ2F0aW9uLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19fbmF2aWdhdGlvbi13cmFwLS1oaWRlLWFycm93cyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX25hdmlnYXRpb24td3JhcC0taGlkZS1hcnJvd3MgLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19fYXJyb3cge1xuICBmb250LXNpemU6IDAuNDM3NXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19hcnJvdzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2UtbGlua3MtY291bnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDAuNDM3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX251bWJlci1kaXZpZGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDEuMTI1cmVtOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtMyAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTMgLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMyAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX2ltYWdlLWxpbmtzLXNsaWRlLWNvbnRlbnQtLXRpdGxlLWFyZWEtbGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2UtbGlua3Mtc2xpZGUtY29udGVudC0tdGl0bGUtYXJlYS1sZWZ0IC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2UtbGlua3Mtc2xpZGUtY29udGVudC0tdGl0bGUtYXJlYS1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19pbWFnZS1saW5rcy1zbGlkZS1jb250ZW50LS10aXRsZS1hcmVhLXJpZ2h0IC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX3RpdGxlLWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19uYXZpZ2F0aW9uLXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAxLjI1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xLjI1cmVtKTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX2ltYWdlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMzUuNjI1cmVtO1xuICAgIGhlaWdodDogMjYuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNfX2ltYWdlLWxpbmtzLXNsaWRlLWNvbnRlbnQtLXRpdGxlLWFyZWEtbGVmdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2UtbGlua3Mtc2xpZGUtY29udGVudC0tdGl0bGUtYXJlYS1sZWZ0IC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2UtbGlua3Mtc2xpZGUtY29udGVudC0tdGl0bGUtYXJlYS1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19pbWFnZS1saW5rcy1zbGlkZS1jb250ZW50LS10aXRsZS1hcmVhLXJpZ2h0IC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtM19faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTguNzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2staW50cm8tYmxvY2sgLmZsby1ibG9jay1pbnRyby1ibG9ja19faW1hZ2Utd3JhcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1pbnRyby1ibG9jayAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1pbnRyby1ibG9jayAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1pbnRyby1ibG9ja19faW1hZ2Utb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1pbnRyby1ibG9ja19faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX3RpdGxlLWFyZWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190aXRsZSB7XG4gICAgbWF4LXdpZHRoOiAzMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuODEyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDI4LjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19oZWFkZXItYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19oZWFkZXItYXJlYSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGl0bGUtYXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGl0bGUtYXJlYSB7XG4gICAgcGFkZGluZzogMy4zMTI1cmVtIDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIGh0bWw6bm90KC5odG1sLS1zdHlsZS1maXhlZCkgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkuMDYyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXNfX2NhdGVnb3JpZXMgbGksIC5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzX19jYXRlZ29yaWVzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMC41cmVtIDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXNfX2NhdGVnb3JpZXMgbGksIC5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzX19jYXRlZ29yaWVzIGEge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXNfX2NhdGVnb3JpZXMgbGk6aG92ZXIsIC5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzX19jYXRlZ29yaWVzIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzX19jYXRlZ29yaWVzIGxpOm5vdCg6bGFzdC1jaGlsZCksIC5mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzX19jYXRlZ29yaWVzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXNfX2NhdGVnb3JpZXMgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXNfX2NhdGVnb3JpZXMgYTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDAuNDczMTNyZW07XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNDM3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWl0ZW0tY2F0ZWdvcmllc19fY2F0ZWdvcmllcyBsaSwgLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXNfX2NhdGVnb3JpZXMgYSB7XG4gICAgICBtYXJnaW46IDAuNjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX190b3AtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMV9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMV9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2xpbmstaWNvbiB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTEge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMV9fbGluayB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rOmhvdmVyIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX3RvcC1sYWJlbCB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rOmhvdmVyIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2xpbmsgKyAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rLS1wcmV2IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDExLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMV9fbGluay0tcHJldiAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMV9fbGluay0tcHJldiAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rLWljb24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmluZy1hcnJvdy1wcmV2OyB9XG4gICAgICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2xpbmstLW5leHQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDExLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNS42MjVyZW07IH1cbiAgICAgICAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rLS1uZXh0IC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMV9fbGluay0tbmV4dCAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rLWljb24ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmluZy1hcnJvdy1uZXh0OyB9XG4gICAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX190b3AtbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEuODc1cmVtO1xuICAgICAgICB3aWR0aDogOC40Mzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDguNDM3NXJlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rLWljb24ge1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjhzO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIEBrZXlmcmFtZXMgbW92aW5nLWFycm93LW5leHQge1xuICAgICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gICAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfVxuICAgICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuICAgIEBrZXlmcmFtZXMgbW92aW5nLWFycm93LXByZXYge1xuICAgICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gICAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFfX3NwYWNlciB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19saW5rLS1wcmV2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICB3aWR0aDogOS4zNzVyZW07XG4gICAgICBoZWlnaHQ6IDkuMzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2staXRlbS10YWdzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2staXRlbS10YWdzX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXRhZ3NfX3RhZ3MgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGFnc19fdGFncyBhIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS10YWdzX190YWdzIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS10YWdzX190YWdzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1pdGVtLXRhZ3NfX3RhZ3MgYTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDAuNDczMTNyZW07XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNDM3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGFnc19fdGFncyBhIHtcbiAgICAgIG1hcmdpbjogMC42MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMV9fdGl0bGUtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS10aXRsZS0xX19jYXRlZ29yeSBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiBcIiwgXCI7IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlLTFfX3NvY2lhbC1saW5rcy13cmFwIGEge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTFfX3NvY2lhbC1saW5rcy13cmFwIGE6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMV9fYmFjay1idXR0b24td3JhcCB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTFfX3NvY2lhbC1saW5rcy13cmFwIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0xX19iYWNrLWJ1dHRvbi13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMV9fdGl0bGUtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX2ZlYXR1cmVkLWltYWdlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fdGV4dC1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fY2F0ZWdvcnkgYTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgY29udGVudDogXCIsIFwiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yLS1kaXNwbGF5LWZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWluLWhlaWdodDogMzEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yLS1kaXNwbGF5LWZlYXR1cmVkLWltYWdlIC5mbG8tYmxvY2staXRlbS10aXRsZS0yX190ZXh0LWFyZWEge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEuMjVyZW0pO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuODEyNXJlbSk7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDEuOTM3NXJlbSAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX3NlcGFyYXRvciB7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fdGV4dC1hcmVhIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX3NlcGFyYXRvciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDAuNjI1cmVtO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH0gfVxuXG4uZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTNfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5LFxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX19oZWFkZXItYXJlYSAuZmxvLWhlYWRlci5pcy1ub3Qtc3RpY2t5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTNfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fZmVhdHVyZWQtaW1hZ2UtLWltZy1sYW5kc2NhcGUge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNHJlbSk7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fZmVhdHVyZWQtaW1hZ2UtLWltZy1wb3J0cmFpdCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fZmVhdHVyZWQtaW1hZ2UtLWJnaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fZmVhdHVyZWQtaW1hZ2UtLWJlbG93IHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX19pbWFnZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTNfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTNfX2NhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fY2F0ZWdvcnkgYTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiLCBcIjsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMy0tZmVhdHVyZWQtaW1hZ2UtcG9zaXRpb24tYmcgLmZsby1ibG9jay1pdGVtLXRpdGxlLTNfX3RleHQtYXJlYS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTNfX2ZlYXR1cmVkLWltYWdlLS1hYm92ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fZmVhdHVyZWQtaW1hZ2UtLWJlbG93IHtcbiAgICAgIG1hcmdpbi10b3A6IDYuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX19mZWF0dXJlZC1pbWFnZS0tYmVsb3cge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgcGFkZGluZzogMy43NXJlbSAxLjkzNzVyZW0gMCAxLjkzNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM19fdGV4dC1hcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGh0bWw6bm90KC5odG1sLS1zdHlsZS1maXhlZCkgLmZsby1ibG9jay1pdGVtLXRpdGxlLTMtYmxvY2sgLmZsby1ibG9jay1pdGVtLXRpdGxlLTMtLWZlYXR1cmVkLWltYWdlLXBvc2l0aW9uLWJnIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA5LjA2MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogOS4wNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy0yIHtcbiAgICBwYWRkaW5nOiAwIDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXZlbmRvcnMtMl9fbGlua3Mge1xuICAgICAgcGFkZGluZzogNC4wMTM3NXJlbSA1LjYyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS12ZW5kb3JzLTJfX2xpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy0yX19saW5rLXByZXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMC4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy0yX19saW5rcyB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy0yX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS12ZW5kb3JzLTJfX2xpbms6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWl0ZW0tdmVuZG9yc19fbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmZsby1ibG9jay1pdGVtLXZlbmRvcnNfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS12ZW5kb3JzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXZlbmRvcnNfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAxNi44NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1LjYyNXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXZlbmRvcnNfX2xpbmtzIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS12ZW5kb3JzX19saW5rIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWl0ZW0tdmVuZG9yc19fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS12ZW5kb3JzX19saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTFfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuODEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19jYXRlZ29yeSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fZGF0ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fZmVhdHVyZWQtaW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19leGNlcnB0IHtcbiAgbWFyZ2luLXRvcDogMi4wNjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogNC4xMjVyZW07IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTFfX2l0ZW0tbGluayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMC42ODc1cmVtIDIuMTg3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDUuNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMV9fc2VwYXJhdG9yIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTFfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAzNC4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTFfX2l0ZW0tbGluayB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctMV9faXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMV9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTFfX3NlcGFyYXRvciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMV9faXRlbS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYm9keV9oYXNfc2lkZWJhciAuZmxvLWJsb2NrLWxpc3RpbmctMV9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmJvZHlfaGFzX3NpZGViYXIgLmZsby1ibG9jay1saXN0aW5nLTFfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtYmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0yIC5mbG8tYmxvY2stbGlzdGluZy0yX19mZWF0dXJlZC1pbWFnZS1iZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTIgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTIgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTJfX3RleHQtYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTJfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMl9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMl9fZGF0ZS1hbmQtY2F0ZWdvcnktd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0yX19jYXRlZ29yeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0yX19kYXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDcuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW0tLWhhcy1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9faXRlbS0taGFzLWZlYXR1cmVkLWltYWdlIC5mbG8tYmxvY2stbGlzdGluZy0yX190ZXh0LWFyZWEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTIuNXJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUuNjI1cmVtKTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yX19pdGVtOmhvdmVyIC5mbG8tYmxvY2stbGlzdGluZy0yX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW06aG92ZXIgLmZsby1ibG9jay1saXN0aW5nLTJfX2hvdmVyLWxpbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlLWJnIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0yX190ZXh0LWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXMsIG1hcmdpbi1ib3R0b20gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0yX19zZXBhcmF0b3Ige1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW46IDAgMC42MjVyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9faG92ZXItbGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtYmcge1xuICAgIGhlaWdodDogMTguNzVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX3RleHQtYXJlYSB7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fdGl0bGUtYW5kLWNhdGVnb3J5IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZGF0ZS1hbmQtY2F0ZWdvcnktd3JhcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fc2VwYXJhdG9yIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJvZHlfaGFzX3NpZGViYXIgLmZsby1ibG9jay1saXN0aW5nLTIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuYm9keV9oYXNfc2lkZWJhciAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtYmcge1xuICAgICAgaGVpZ2h0OiAzOC41cmVtOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTMgLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctMyAuZmxvLWJsb2NrLWxpc3RpbmctM19fZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctMyAuZmxvLWJsb2NrLWxpc3RpbmctM19fZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTNfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgbWF4LWhlaWdodDogNi4yNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0zX19leGNlcnB0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEuODEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjY4NzVyZW0gMS44NzVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi10b3A6IDIuMTg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctM19faXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTNfX2l0ZW06bm90KC5mbG8tYmxvY2stbGlzdGluZy0zX19pdGVtLS1oYXMtZmVhdHVyZWQtaW1hZ2UpIC5mbG8tYmxvY2stbGlzdGluZy0zX190ZXh0LWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAyNS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX190ZXh0LWFyZWEge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCA1LjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX190ZXh0LWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fZmVhdHVyZWQtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LWhlaWdodDogMy4zMTI1cmVtO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX3RpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMS42ODc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLWhhcy1mZWF0dXJlZC1pbWFnZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9fb3ZlcmxheSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIGJvdHRvbSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0taGFzLWZlYXR1cmVkLWltYWdlOmhvdmVyIC5mbG8tYmxvY2stbGlzdGluZy00X19vdmVybGF5IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICAgICAgYm90dG9tOiA1MCU7IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy00X19pdGVtOm5vdCguZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0taGFzLWZlYXR1cmVkLWltYWdlKSAuZmxvLWJsb2NrLWxpc3RpbmctNF9fb3ZlcmxheSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tYmxvY2stbGlzdGluZy00X19pdGVtOm5vdCguZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0taGFzLWZlYXR1cmVkLWltYWdlKSAuZmxvLWJsb2NrLWxpc3RpbmctNF9fb3ZlcmxheTpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy00X19vdmVybGF5IHtcbiAgICAgIHBhZGRpbmc6IDEuNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0ge1xuICAgIGhlaWdodDogMjEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19mZWF0dXJlZC1pbWFnZS13cmFwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19mZWF0dXJlZC1pbWFnZS0tYmdpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX292ZXJsYXktY29sb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy01X19kZWNvcmF0aXZlLWltYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19zZXBhcmF0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDFyZW0gYXV0bztcbiAgd2lkdGg6IDIuNDY4NzVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9fb3ZlcmxheS1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX2NhdGVnb3J5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctNSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS0taGFzLWZlYXR1cmVkLWltYWdlIC5mbG8tYmxvY2stbGlzdGluZy01X19vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tLWhhcy1mZWF0dXJlZC1pbWFnZSAuZmxvLWJsb2NrLWxpc3RpbmctNV9fb3ZlcmxheS1jb2xvciB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1vdmVybGF5LW9wYWNpdHkpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tLWhhcy1mZWF0dXJlZC1pbWFnZSAuZmxvLWJsb2NrLWxpc3RpbmctNV9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tLWhhcy1mZWF0dXJlZC1pbWFnZTpob3ZlciAuZmxvLWJsb2NrLWxpc3RpbmctNV9fb3ZlcmxheSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tLWhhcy1mZWF0dXJlZC1pbWFnZTpob3ZlciAuZmxvLWJsb2NrLWxpc3RpbmctNV9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW06bm90KC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLS1oYXMtZmVhdHVyZWQtaW1hZ2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtOm5vdCguZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS0taGFzLWZlYXR1cmVkLWltYWdlKTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19mZWF0dXJlZC1pbWFnZS13cmFwIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19mZWF0dXJlZC1pbWFnZS13cmFwID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9fb3ZlcmxheSB7XG4gICAgICBwYWRkaW5nOiAxLjc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy01Om5vdCguZmxvLWJsb2NrLWxpc3RpbmctNS0tbWFzb25yeSkgLmZsby1ibG9jay1saXN0aW5nLTVfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBoZWlnaHQ6IHZhcigtLW1vYmlsZS1oZWlnaHQpOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy01X19mZWF0dXJlZC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX292ZXJsYXkge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi0taGlkZGVuLW51bWJlcnMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24gaSB7XG4gICAgZm9udC1zaXplOiAwLjQwNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19wYWdlLW51bWJlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19wYWdlLW51bWJlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbnVtYmVyOmhvdmVyOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1udW1iZXItLWFjdGl2ZTphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbnVtYmVyOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19wYWdlLWRvdHMge1xuICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLXByZXZpb3VzIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fbmF2aWdhdGlvbi0tbmV4dCBpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fc3BhY2VyIHtcbiAgICAgICAgZmxleDogMCAxIDEwJTsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbGlua3Mge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLXByZXZpb3VzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uLS1wcmV2aW91cyBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42ODc1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uLS1uZXh0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgICAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uLS1uZXh0IGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjg3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2ltYWdlcy1hcmVhIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19sZWZ0LXNpZGUtaW1hZ2VzLWFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fbGVmdC1zaWRlLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42MjVyZW07IH1cblxuLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9faW1hZ2Utb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMSAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMSAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTEgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19sZWZ0LXNpZGUtaW1hZ2UtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX3JpZ2h0LXNpZGUtaW1hZ2VzLWFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTEgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMSAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19yaWdodC1zaWRlLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMSAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19yaWdodC1zaWRlLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZS1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX190aXRsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19sZWZ0LXNpZGUtaW1hZ2VzLWFyZWEge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19sZWZ0LXNpZGUtaW1hZ2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICAvKiBTVEFSVDogSE9WRVIgQU5JTUFUSU9OICovXG4gICAgLyogRU5EOiBIT1ZFUiBBTklNQVRJT04gKi8gfVxuICAgIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2xlZnQtc2lkZS1pbWFnZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fbGVmdC1zaWRlLWltYWdlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjAuMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2xlZnQtc2lkZS1pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNTYyNXJlbSk7XG4gICAgICBoZWlnaHQ6IDEwLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fbGVmdC1zaWRlLWltYWdlOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7IH1cbiAgICAgIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2xlZnQtc2lkZS1pbWFnZTpob3ZlciAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19pbWFnZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19sZWZ0LXNpZGUtaW1hZ2UtbGluayB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX3JpZ2h0LXNpZGUtaW1hZ2VzLWFyZWEge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIC8qIFNUQVJUOiBIT1ZFUiBBTklNQVRJT04gKi9cbiAgICAvKiBFTkQ6IEhPVkVSIEFOSU1BVElPTiAqLyB9XG4gICAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZTpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjAuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX3JpZ2h0LXNpZGUtaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41NjI1cmVtKTtcbiAgICAgIGhlaWdodDogMTAuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19yaWdodC1zaWRlLWltYWdlOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7IH1cbiAgICAgIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX3JpZ2h0LXNpZGUtaW1hZ2U6aG92ZXIgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9faW1hZ2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9faW1hZ2Uge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZS1saW5rIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX190aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2ltYWdlcy1hcmVhIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2xlZnQtc2lkZS1pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEyLjVyZW07IH1cbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fbGVmdC1zaWRlLWltYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGhlaWdodDogOS4zNzVyZW07IH1cbiAgLmZsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMV9fcmlnaHQtc2lkZS1pbWFnZTpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX3JpZ2h0LXNpZGUtaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGhlaWdodDogOS4zNzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMSB7XG4gIC8qIFNUQVJUOiBJTUFHRSBGRUVEICovXG4gIC8qIEVORDogSU1BR0UgRkVFRCAqLyB9XG4gIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fZm9ybS1maWVsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4zNzVyZW0gIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fc3VibWl0LWJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMi4xODc1cmVtO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZXMgLmltZy1ibG9jayBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW1hZ2VzLFxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZXMgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDQ4JSAtIDMuN3Z3KTtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xIC5pbWctYmxvY2sge1xuICAgICAgd2lkdGg6IGNhbGMoNDglIC0gMy43dncpICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xIC5pbWctYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW5zdGFncmFtLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA1LjQzNzVyZW0gNi4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX25ld3NsZXR0ZXItbWFpbi13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2Zvcm0tYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDglO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19mb3JtLWZpZWxkIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZXMtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTUuNDM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX3N1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNS42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbnN0YWdyYW0taWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMxJTtcbiAgICAgICAgdG9wOiAyLjcxODc1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpOyB9XG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW1hZ2VzLFxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlcyAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlOm50aC1jaGlsZCgxKSwgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlOm50aC1jaGlsZCgyKSxcbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xIC5pbWctYmxvY2s6bnRoLWNoaWxkKDEpLFxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTEgLmltZy1ibG9jazpudGgtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZTpudGgtY2hpbGQoMSksIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZTpudGgtY2hpbGQoMyksXG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMSAuaW1nLWJsb2NrOm50aC1jaGlsZCgxKSxcbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xIC5pbWctYmxvY2s6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZTpudGgtY2hpbGQoMiksIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZTpudGgtY2hpbGQoNCksXG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMSAuaW1nLWJsb2NrOm50aC1jaGlsZCgyKSxcbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xIC5pbWctYmxvY2s6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUuNDM3NXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19ib3R0b20tbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogOC40Mzc1cmVtO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDIuNzE4NzVyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xIHtcbiAgICAgIHBhZGRpbmc6IDAgMS45Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fZm9ybS1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fZm9ybS1maWVsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW1hZ2VzLWFyZWEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2luc3RhZ3JhbS1pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZXMge1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlLFxuICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTEgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDMuODc1cmVtKSAvIDIgLSAxLjI1cmVtIC8gMikgIWltcG9ydGFudDsgfVxuICAgICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9faW1hZ2U6bnRoLWNoaWxkKDJuKSxcbiAgICAgICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTEgLmltZy1ibG9jazpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC44NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAzLjg3NXJlbSkgLyAyIC0gMS4yNXJlbSAvIDIpOyB9XG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fYm90dG9tLWxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTJfX3RpdGxlLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTJfX25ld3NsZXR0ZXItYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTJfX25ld3NsZXR0ZXItYXJlYS1mb3JtLWZpZWxkIHtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyLWFyZWEtZm9ybS1zdWJtaXQge1xuICBwYWRkaW5nOiAwLjc1cmVtIDIuMTg3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMiB7XG4gICAgcGFkZGluZzogMy43NXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTJfX25ld3NsZXR0ZXItYXJlYSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMl9fbmV3c2xldHRlci1hcmVhOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX190ZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyLWFyZWEtZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTJfX25ld3NsZXR0ZXItYXJlYS1mb3JtLWZpZWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyLWFyZWEtZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTIge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMl9fbmV3c2xldHRlci1hcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyLWFyZWE6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMl9fbmV3c2xldHRlci1hcmVhLWZvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yX19uZXdzbGV0dGVyLWFyZWEtZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fdGl0bGUtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2VzLWFyZWEge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogMjkuNjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZS1jb250ZW50IHtcbiAgcGFkZGluZzogMi41cmVtIDIuNDM3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19pbWFnZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiA4LjYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2UtcHJpY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLWJsb2NrLWJ1dHRvbi13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZS1ibG9jay1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMy4xMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX190aXRsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2VzLWFyZWEge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlcy1hcmVhLS0zLXBhY2thZ2VzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMS4zNzVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlOm5vdCg6aG92ZXIpIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZTpub3QoOmhvdmVyKSAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1pbWFnZS1jb2xvcik7IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLXByaWNlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1pbWFnZS1jb2xvcik7IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2U6aG92ZXIgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlOmhvdmVyIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19faW1hZ2Utb3ZlcmxheSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1ob3Zlci1jb2xvcik7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19pbWFnZS1vdmVybGF5IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlLWJsb2NrLWJ1dHRvbi13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX190aXRsZS1hcmVhIHtcbiAgICBtYXJnaW46IDEuODc1cmVtIDA7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19wYWNrYWdlcy1hcmVhIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlc19fcGFja2FnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2UtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1ob3Zlci1jb2xvcik7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzX19pbWFnZS1vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2UtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMy40Mzc1cmVtOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtLXRleHQtYXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjVyZW0gMS4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCAtMS40MDYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0ge1xuICAgIHdpZHRoOiAxOC43NXJlbTtcbiAgICBtYXJnaW46IDAgMS40MDYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1zaGFyZS1saW5rcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLXNoYXJlLWxpbmtzX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42ODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stc2hhcmUtbGlua3NfX3NoYXJlLWxpbmtzIGEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDAgMC4zNDM3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlci1hcmVhIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0xX190aXRsZS1hcmVhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2JvdHRvbS1hcmVhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS4zNzVyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvdW50ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvdW50ZXItc2VwYXJhdG9yIHtcbiAgbWFyZ2luOiAwIDAuMzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvdW50ZXItc2VwYXJhdG9yOmJlZm9yZSwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fY291bnRlci1zZXBhcmF0b3I6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIC0gXCI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlci1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX190aXRsZS1hcmVhIHtcbiAgICB3aWR0aDogMjIuNXJlbTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX190ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYm90dG9tLWFyZWEge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxOC4xMjVyZW0pOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX25hdmlnYXRpb24ge1xuICAgIHBhZGRpbmc6IDAgMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Fycm93IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3c6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2tbZGF0YS1vbnJlYWR5PVwiZmxvX2Jsb2NrX3NsaWRlc2hvd18xXCJdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gICAgdG9wOiAyMHZoOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvbnRlbnQtd3JhcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlci1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fdGl0bGUtYXJlYSB7XG4gICAgcGFkZGluZzogMCAzLjQzNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1zbGlkZXNob3ctMl9fYXJyb3cge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDIuNDM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdyxcbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fZG90cyBsaSB7XG4gICAgZm9udC1zaXplOiAwLjQzNzVyZW07IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fYXJyb3cge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdzpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdy0tcHJldiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2Fycm93LS1uZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fZG90cyB1bCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2RvdHMgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fZG90cyBsaSBidXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2hlaWdodC1hdXRvIGltZyB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2Fycm93LCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19kb3RzIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fZG90cyB1bCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fZG90cyBsaSB7XG4gICAgbWFyZ2luOiAwIDAuMzEyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdGVzdGltb25pYWxzLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWxzLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC1zbGlkZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMTYuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3RleHQgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDYuMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fY3VycmVudC1pdGVtLW51bWJlciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19udW1iZXItZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDYuMjVyZW07XG4gICAgbWFyZ2luOiAwLjMxMjVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190b3RhbC1pdGVtLW51bWJlciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fYXJyb3dzLS1oaWRlLWFycm93cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX2Fycm93IHtcbiAgICBmb250LXNpemU6IDAuNDM3NXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvdmVseS1hcnJvdztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuOHM7IH1cbiAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19hcnJvdzpob3ZlciB7XG4gICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgfVxuXG5Aa2V5ZnJhbWVzIGxvdmVseS1hcnJvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMSB7XG4gICAgICBwYWRkaW5nOiA1cmVtIDQuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19pbWFnZS0tbm8tY3JvcCAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtc2xpZGUtY29udGVudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMjUuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiAyMi42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42ODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19hcnJvdy0tbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNC4zNzVyZW07XG4gICAgICAgIHRvcDogNTAlOyB9XG4gICAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19hcnJvdy0tcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgdG9wOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19tb2JpbGUtaW1hZ2UtLW5vLWNyb3AgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtc2xpZGUtY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gICAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fYXJyb3dzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfSB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay0xIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay0xX190aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX3RleHQtY29udGVudCB7XG4gIG1heC13aWR0aDogNDMuNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay0zX190ZXh0LWNvbHVtbnMgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07IH1cbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3RleHQtY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fbGVmdC10ZXh0LWNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fcmlnaHQtdGV4dC1jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fdGV4dC1jb2x1bW5zIGRpdjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjEyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay00IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNF9fdGl0bGUtcGFyYWdyYXBoIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay00X190ZXh0LWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMy43NXJlbSk7IH1cbiAgICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX3RleHQtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMy43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX3RleHQtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stNSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNV9fc2VwYXJhdGluZy1saW5lIHtcbiAgICB3aWR0aDogMi44MTI1cmVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDIuMTg3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stNiB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTZfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNl9fdGl0bGUtcGFyYWdyYXBoIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTYge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDMuNDM3NXJlbSAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay02X190aXRsZS1zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDE5LjU2MjVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNl9fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay02IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5mbG8tYmxvY2stdHJhdmVsLWRhdGVzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdGV4dC1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay10cmF2ZWwtZGF0ZXNfX3RyYXZlbC1kYXRlLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX191cmwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlcy0taW1hZ2UtYXJlYS1sZWZ0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlcy0taW1hZ2UtYXJlYS1sZWZ0IC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX19pbWFnZS1hcmVhIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1LjYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10cmF2ZWwtZGF0ZXMtLWltYWdlLWFyZWEtcmlnaHQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzLS1pbWFnZS1hcmVhLXJpZ2h0IC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX19pbWFnZS1hcmVhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19faW1hZ2UtYXJlYSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX190ZXh0LWFyZWEge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiA0LjM3NXJlbSAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX190ZXh0LWFyZWEtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10cmF2ZWwtZGF0ZXNfX3RyYXZlbC1kYXRlcy1saW5rczpob3ZlciAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdHJhdmVsLWRhdGUtbGluayB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdHJhdmVsLWRhdGVzLWxpbmtzOmhvdmVyIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzX190cmF2ZWwtZGF0ZS1saW5rOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdHJhdmVsLWRhdGUtbGluayB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzLS1pbWFnZS1hcmVhLWxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay10cmF2ZWwtZGF0ZXMtLWltYWdlLWFyZWEtbGVmdCAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19faW1hZ2UtYXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdHJhdmVsLWRhdGVzLS1pbWFnZS1hcmVhLXJpZ2h0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgLmZsby1ibG9jay10cmF2ZWwtZGF0ZXMtLWltYWdlLWFyZWEtcmlnaHQgLmZsby1ibG9jay10cmF2ZWwtZGF0ZXNfX2ltYWdlLWFyZWEge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19faW1hZ2UtYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc19fdGV4dC1hcmVhLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3RpdGxlLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS13cmFwLS10ZXh0LXBvc2l0aW9uLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS13cmFwLS10ZXh0LXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS13cmFwLS10ZXh0LXBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmZsby1ibG9jay12aWRlby1ibG9jay0xIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMSAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9fdGl0bGUtd3JhcCB7XG4gICAgcGFkZGluZzogNC4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC43NXJlbTtcbiAgICB3aWR0aDogMjcuNXJlbTtcbiAgICBwYWRkaW5nOiAwIDQuNzVyZW07IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS1wcmV0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0xX190aXRsZS13cmFwIHtcbiAgICBwYWRkaW5nOiAyLjgxMjVyZW0gMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX2ltYWdlLXByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay12aWRlby1ibG9jay0yIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX2ltYWdlLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMiAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX2ltYWdlLXdyYXAge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fYnV0dG9uLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yIHtcbiAgICAgIHBhZGRpbmc6IDUuNjI1cmVtIDMuNzVyZW0gNS42MjVyZW0gNS42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMi0taW1hZ2Utb24tdGhlLWxlZnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTItLWltYWdlLW9uLXRoZS1yaWdodCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDM2LjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgICAgcGFkZGluZzogMCAyLjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fYnV0dG9uLWxpbmsge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yLS1pbWFnZS1vbi10aGUtbGVmdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yLS1pbWFnZS1vbi10aGUtcmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgICAgIG1hcmdpbjogMC45Mzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fdG9wLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19wcmV0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX2J1dHRvbi1saW5rLXdyYXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuXG4uZmxvLWNvbW1lbnRzIHtcbiAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgLyogU1RBUlQ6IENPTU1FTlRTIFdSQVAgKi9cbiAgLyogU1RBUlQ6IExJU1QgKi9cbiAgLyogRU5EOiBMSVNUICovXG4gIC8qIFNUQVJUOiBGT1JNICovXG4gIC8qIEVORDogRk9STSAqL1xuICAvKiBFTkQ6IENPTU1FTlRTIFdSQVAgKi8gfVxuICAuZmxvLWNvbW1lbnRzX190b3AtYXJlYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU2MjVyZW07IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1vcHRpb25zLWxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTsgfVxuICAuZmxvLWNvbW1lbnRzX19zaGFyaW5nLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1saW5rcyBpOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgLmZsby1jb21tZW50c19fdGFncyBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiwgXCI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX3RvcC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudHMtY291bnQsIC5mbG8tY29tbWVudHNfX3NoYXJpbmctb3B0aW9ucywgLmZsby1jb21tZW50c19fdGFncyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8tY29tbWVudHNfX3RhZ3Mge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWNvbW1lbnRzX190b3AtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50cy1jb3VudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1jb21tZW50c19fc2hhcmluZy1vcHRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuZmxvLWNvbW1lbnRzX19saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMi4zMTI1cmVtOyB9XG4gICAgLmZsby1jb21tZW50c19fbGlzdCA+IC5jb21tZW50OmZpcnN0LWNoaWxkID4gLmZsby1jb21tZW50c19fY29tbWVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5mbG8tY29tbWVudHNfX2xpc3QgLmNvbW1lbnQ6bGFzdC1jaGlsZCAuZmxvLWNvbW1lbnRzX19jb21tZW50Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5mbG8tY29tbWVudHNfX2xpc3QgLmNvbW1lbnQ6bGFzdC1jaGlsZCAuY29tbWVudDpsYXN0LWNoaWxkIC5mbG8tY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAuZmxvLWNvbW1lbnRzX19jb21tZW50IHtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50ICNjYW5jZWwtY29tbWVudC1yZXBseS1saW5rIGkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2NvbW1lbnQtdG9wLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxvLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciB7XG4gICAgd2lkdGg6IDIuOTY4NzVyZW07XG4gICAgaGVpZ2h0OiAyLjk2ODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIuOTY4NzVyZW07XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjgxMjVyZW07IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1hdXRob3Ige1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1kYXRlIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1yZXBseSB7XG4gICAgbWFyZ2luLXRvcDogMS4zNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2xpc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogNS42MjVyZW07IH1cbiAgICAuZmxvLWNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50IC5mbG8tY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1LjYyNXJlbTsgfVxuICAgICAgLmZsby1jb21tZW50cyAuY29tbWVudCAuY29tbWVudCAuZmxvLWNvbW1lbnRzX19jb21tZW50OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDguNDM3NXJlbTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4LjQzNzVyZW07IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50LXJlcGx5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogOC40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudC10b3Atd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmZsby1jb21tZW50c19fZm9ybS13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH1cbiAgLmZsby1jb21tZW50c19fZm9ybS10b3AtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy40Mzc1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tZmllbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tdGV4dGFyZWEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDcuODc1cmVtOyB9XG4gIC5mbG8tY29tbWVudHMgLmZvcm0tc3VibWl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLWNvbW1lbnRzX19mb3JtIC5zdWJtaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAzLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMi42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2Zvcm0td3JhcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNS42MjVyZW07IH1cbiAgICAgIC5mbG8tY29tbWVudHNfX2Zvcm0td3JhcC5pc19zdHVjayB7XG4gICAgICAgIHJpZ2h0OiA5LjA2MjVyZW07IH1cbiAgICAgICAgLmZsby1jb21tZW50c19fZm9ybS13cmFwLmlzX3N0dWNrW3N0eWxlKj1hYnNvbHV0ZV0ge1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmZsby1jb21tZW50c19fZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmZsby1jb21tZW50c19fZm9ybS1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkLS1oYWxmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi44MTI1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1LjYyNXJlbTsgfVxuICAgICAgICAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkLS1oYWxmICsgLmZsby1jb21tZW50c19fZm9ybS1maWVsZC0taGFsZiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1jb21tZW50c19fZm9ybS13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2NvbW1lbnRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZsby1jb21tZW50c19fbGlzdCwgLmZsby1jb21tZW50c19fZm9ybS13cmFwIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDsgfSB9XG4gIC5mbG8tY29tbWVudHNfX2ZhY2Vib29rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWZvb3Rlci1zaWRlYmFycyB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gOS4wNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tZm9vdGVyLXNpZGViYXJzIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxLjkzNzVyZW07IH0gfVxuXG4uZmxvLWZvb3Rlci1hcmVhLTJfX3RpdGxlLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1mb290ZXItYXJlYS0yX19uZXdzbGV0dGVyLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjg3NXJlbSAxLjYyNXJlbSAwLjg3NXJlbSAxLjEyNXJlbTsgfVxuXG4uZmxvLWZvb3Rlci1hcmVhLTJfX25ld3NsZXR0ZXItZm9ybS1lbWFpbCB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmZsby1mb290ZXItYXJlYS0yX19uZXdzbGV0dGVyLWZvcm0tc3VibWl0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1mb290ZXItYXJlYS0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMS45Mzc1cmVtIDkuMDYyNXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyLWFyZWEtMl9fc29jaWFsLWFyZWEsIC5mbG8tZm9vdGVyLWFyZWEtMl9fdGl0bGUtYXJlYSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAuZmxvLWZvb3Rlci1hcmVhLTJfX3NvY2lhbC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWZvb3Rlci1hcmVhLTJfX3NvY2lhbC1hcmVhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBoZWlnaHQ6IDIuNTYyNXJlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmZsby1mb290ZXItYXJlYS0yX19saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yNXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyLWFyZWEtMl9fc29jaWFsLWxpbmtzIGEge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjgxMjVyZW07IH1cbiAgICAuZmxvLWZvb3Rlci1hcmVhLTJfX25ld3NsZXR0ZXItZm9ybSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDIuODEyNXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWZvb3Rlci1hcmVhLTIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS45Mzc1cmVtOyB9XG4gICAgLmZsby1mb290ZXItYXJlYS0yX19zb2NpYWwtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyLWFyZWEtMl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8tZm9vdGVyLWFyZWEtMl9fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyLWFyZWEtMl9fbmV3c2xldHRlci1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZsby1mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIFNUQVJUOiBJTUFHRSBGRUVEICovXG4gIC8qIEVORDogSU1BR0UgRkVFRCAqL1xuICAvKiBTVEFSVDogU0VBUkNIIEZJRUxEIFNUWUxJTkcgKi9cbiAgLyogRU5EOiBTRUFSQ0ggRklFTEQgU1RZTElORyAqL1xuICAvKiBTVEFSVDogQVJFQSAxICovXG4gIC8qIEVORDogQVJFQSAxICovXG4gIC8qIFNUQVJUOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgLyogRU5EOiBDT1BZUklHSFRTIEFSRUEgKi8gfVxuICAuZmxvLWZvb3RlciAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuZmxvLWZvb3RlciAud2lkZ2V0X3NlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2ltYWdlcyAuaW1nLWJsb2NrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9faW1hZ2VzLFxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2ltYWdlcyAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19pbWFnZSB7XG4gICAgICB3aWR0aDogOS41cmVtO1xuICAgICAgaGVpZ2h0OiA5LjVyZW07IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hIC5pbWctYmxvY2sge1xuICAgICAgd2lkdGg6IDkuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEgLmltZy1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX3RleHQtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtO1xuICAgIG1heHdpZHRoOiA1LjYyNXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyLjQzNzVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fc29jaWFsLWxpbmtzIGEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgOS4wNjI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9faW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlICsgMS4xMjVyZW0pO1xuICAgICAgICBtYXJnaW46IC0wLjU2MjVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9faW1hZ2VzLFxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19pbWFnZXMgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX19pbWFnZSxcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMS4xMjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMC41NjI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hX190ZXh0LWFyZWEge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwIDIuODEyNXJlbSAwIDguNDM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjkzNzVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2ltYWdlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW1hZ2VzIC5pbWctYmxvY2sgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19pbWFnZXMsXG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW1hZ2VzIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiA1LjYyNXJlbTtcbiAgICAgIGhlaWdodDogNS42MjVyZW07IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5pbWctYmxvY2sge1xuICAgICAgd2lkdGg6IDUuNjI1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTguNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuaW1nLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDMuMzEyNXJlbSA2LjI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19sZWZ0LWFyZWEge1xuICAgICAgICB3aWR0aDogMjkuMiU7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmltZy1ibG9jazpub3QoOmxhc3QtY2hpbGQpLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM3NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9fbWlkZGxlLWFyZWEge1xuICAgICAgICB3aWR0aDogNDEuNiU7XG4gICAgICAgIHBhZGRpbmc6IDAgMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19yaWdodC1hcmVhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyOS4yJTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9fbGluay1saXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAtMC42MjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2xpbmsge1xuICAgICAgICBtYXJnaW46IDAgMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjkzNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIuaGlkZS1tb2JpbGUtaW5zdGFncmFtIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2xlZnQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2xlZnQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19pbWFnZXMge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5pbWctYmxvY2ssIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmltZy1ibG9jazpub3QoOmZpcnN0LWNoaWxkKSwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW1hZ2U6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmltZy1ibG9jazpub3QoOmZpcnN0LWNoaWxkKSwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW1hZ2U6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX21pZGRsZS1hcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19saW5rLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2xpbmsge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjIwMTI1cmVtOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42MjVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19ib3R0b20tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjU2MjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3QtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDEzNzVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4wNjI1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmsge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yMDEyNXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMy43NXJlbSA5LjA2MjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDE0LjA2MjVyZW07XG4gICAgICAgIGhlaWdodDogMTQuMDYyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1LjYyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19yaWdodC1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDI3LjI3JTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjgxMjVyZW07XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMge1xuICAgICAgcGFkZGluZzogMi41cmVtIDEuOTM3NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxOC43NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX3RleHQtYXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9faW1hZ2VzIC5pbWctYmxvY2sgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2ltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2ltYWdlcyxcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2ltYWdlcyAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMTEuMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAxMS4yNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTguNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQgLmltZy1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fbGluayB7XG4gICAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMi4wNjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgNi4yNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2ltYWdlcyB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19pbWFnZXMgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9faW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS45Mzc1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQubW9iaWxlLWhpZGUtd2hvbGUtYmxvY2sge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9faW1hZ2VzLFxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2ltYWdlcyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9faW1hZ2UsXG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAwLjYyNXJlbSkgIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19pbWFnZTpsYXN0LWNoaWxkLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19pbWFnZTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kIC5pbWctYmxvY2s6bGFzdC1jaGlsZCxcbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kIC5pbWctYmxvY2s6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhX19iYWNrLXRvLXRvcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYV9fYmFjay10by10b3AgaSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYV9fYmFjay10by10b3AtbGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gNi4yNXJlbSAyLjYyNXJlbSA2LjI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWFfX2ljb24td3JhcCwgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhX19iYWNrLXRvLXRvcC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDI5LjIlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYV9fY29weXJpZ2h0LW5vdGljZSB7XG4gICAgICAgIHdpZHRoOiA0MS42JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWFfX2JhY2stdG8tdG9wIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWFfX2ljb24td3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWFfX2NvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5mbG8tZ2VuZXJpYy1tZW51LXdyYXAge1xuICAvKiBTVEFSVDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAvKiBFTkQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi8gfVxuICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB6LWluZGV4OiAyMzExMjMxMjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgLyogU3RhcnQ6IDJuZCBMZXZlbCBEcm9wZG93biAqL1xuICAgIC8qIEVuZDogMm5kIExldmVsIERyb3Bkb3duICovIH1cbiAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaTpob3ZlciA+IHVsIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkgdWwge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgd2lkdGg6IDE1LjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMTU2MjVyZW0gMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNDA2MjVyZW0gMi40Mzc1cmVtOyB9XG4gICAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkgdWwgbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSB1bCBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51ID4gbGkgPiB1bCB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDIuMzEyNXJlbSk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgPiBsaSA+IHVsOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSA+IGxpID4gdWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAwLjA2MjVyZW0pO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAuNDM3NXJlbSAwLjM3NXJlbSAwLjQzNzVyZW07XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtY29udGVudCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtaW1nLS1iZ2kge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8tLWNyb3BwZWQgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvLS1uby1jcm9wIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1pbWctLWJnaSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1nZW5lcmljLXNsaWRlcy0taW1hZ2UtdHlwZS1iZ2kgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5mbG8tbW9iaWxlLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA4NCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5OTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgLyogU1RBUlQ6IE1FTlUgKi9cbiAgLyogU1RBUlQ6IEZJUlNUIExFVkVMIElURU0gKi9cbiAgLyogRU5EOiBGSVJTVCBMRVZFTCBJVEVNICovXG4gIC8qIFNUQVJUOiBEUk9QRE9XTiAqL1xuICAvKiBFTkQ6IERST1BET1dOICovXG4gIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTElORyAqL1xuICAvKiBFTkQ6IERST1BET1dOIFRPR0dMSU5HICovXG4gIC8qIEVORDogTUVOVSAqL1xuICAvKiBTVEFSVDogQk9UVE9NIEFSRUEgKi9cbiAgLyogRU5EOiBCT1RUT00gQVJFQSAqL1xuICAvKiBTVEFSVDogVklTSUJJTElUWSAqL1xuICAvKiBFTkQ6IFZJU0lCSUxJVFkgKi8gfVxuICAuZmxvLW1vYmlsZS1tZW51X190b3AtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDM0LjF2dztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjkzNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4wNjI1cmVtOyB9XG4gIC5mbG8tbW9iaWxlLW1lbnUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmZsby1tb2JpbGUtbWVudV9fbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51X19tZW51IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51X19tZW51IGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpIHVsID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMuNDM3NXJlbTtcbiAgICBoZWlnaHQ6IDMuNDM3NXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSBpIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLW1vYmlsZS1tZW51X19tZW51IGxpLmNoaWxkcmVuLXZpc2libGUgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGUgaSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC5mbG8tbW9iaWxlLW1lbnVfX2JvdHRvbS1hcmVhIHtcbiAgICBwYWRkaW5nOiAwIDEuOTM3NXJlbTsgfVxuICAuZmxvLW1vYmlsZS1tZW51X19zb2NpYWwtbGlua3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51X19zb2NpYWwtbGlua3MgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAuZmxvLW1vYmlsZS1tZW51X19jb3B5cmlnaHQtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmZsby1tb2JpbGUtbWVudV9fY29weXJpZ2h0LW5vdGljZSB7XG4gICAgbGluZS1oZWlnaHQ6IDJlbSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tbW9iaWxlLW1lbnVfX2NvcHlyaWdodC1mbG8tbG9nbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM3NXJlbTsgfVxuICAuYm9keS0tZmxvLW1vYmlsZS1tZW51LXBvcHVwLW9wZW5lZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5ib2R5LS1mbG8tbW9iaWxlLW1lbnUtcG9wdXAtb3BlbmVkIC5mbG8tbW9iaWxlLW1lbnUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gIGh0bWwgLmZsby1tb2JpbGUtbWVudSwgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1jbG9zZWQgLmZsby1tb2JpbGUtbWVudSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvLWhlYWRlci1tb2JpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuOTM3NXJlbTtcbiAgei1pbmRleDogMTExO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cywgb3BhY2l0eSAwLjVzLCBwYWRkaW5nIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIC8qIFNUQVJUOiBTUEFDRVIgKi9cbiAgLyogRU5EOiBTUEFDRVIgKi9cbiAgLyogU1RBUlQ6IE1FTlUgVFJJR0dFUiAqL1xuICAvKiBFTkQ6IE1FTlUgVFJJR0dFUiAqL1xuICAvKiBTVEFSVDogTE9HTyAqL1xuICAvKiBFTkQ6IExPR08gKi9cbiAgLyogU1RBUlQ6IEhJREUgT04gREVTS1RPUCAqL1xuICAvKiBFTkQ6IEhJREUgT04gREVTS1RPUCAqL1xuICAvKiBTVEFSVDogTU9CSUxFIExPR08gKi9cbiAgLyogRU5EOiBNT0JJTEUgTE9HTyAqL1xuICAvKiBTVEFSVDogU1RJQ0tZICovXG4gIC8qIEVORDogU1RJQ0tZICovIH1cbiAgLmZsby1oZWFkZXItbW9iaWxlX19zcGFjZXIge1xuICAgIHdpZHRoOiAxNSU7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlX19tZW51LXRyaWdnZXIge1xuICAgIHdpZHRoOiAxNSU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNjAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby0tbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28tLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2Uge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1zdGlja3ksIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvID4gaGVhZGVyID4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCwgLmJvZHktLWZsby1wYWdlLWhlcm8tZWxlbWVudHMtY29sb3ItaXMtbGlnaHQgLmZsby1oZWFkZXItYW5kLWZsby1wYWdlLWhlcm8gLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvID4gaGVhZGVyID4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQsIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlciAuZmxvLWhlYWRlci1tb2JpbGUuaXMtbWFpbiB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyLW1vYmlsZS5pcy1tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS45Mzc1cmVtOyB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyLW1vYmlsZS5pcy1tYWluIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlLmlzLW1haW4gLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlLmlzLW1haW4gLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1zdGlja3kge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG5cbi5mbG8taGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIHBhZGRpbmcgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgLyogU1RBUlQ6IEhFQURFUiBDT01NT04gRUxFTUVOVFMgKi9cbiAgLyogU1RBUlQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbiAgLyogRU5EOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovXG4gIC8qIEVORDogSEVBREVSIENPTU1PTiBFTEVNRU5UUyAqL1xuICAvKiBTVEFSVDogSEVBREVSIFRZUEVTICovXG4gIC8qIEVORDogSEVBREVSIFRZUEVTICovIH1cbiAgLmZsby1oZWFkZXJfX21lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiBTdGFydDogMm5kIExldmVsIERyb3Bkb3duICovXG4gICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi8gfVxuICAgIC5mbG8taGVhZGVyX19tZW51IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudSAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAtLW9wZW4gLmZsby1oZWFkZXJfX3NlYXJjaC10cmlnZ2VyLWljb24tLW9wZW4ge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudSAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAtLW9wZW4gLmZsby1oZWFkZXJfX3NlYXJjaC10cmlnZ2VyLWljb24tLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwLS1vcGVuIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgLmZsby1oZWFkZXJfX3NlYXJjaC10cmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51IC5mbG8taGVhZGVyX19zZWFyY2gtdHJpZ2dlci1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8taGVhZGVyX19tZW51IC5mbG8taGVhZGVyX19zZWFyY2gtdHJpZ2dlci1pY29uLS1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjYyNXJlbSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjE1NjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTUuNjI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLXN1Ym1pdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxLjE1NjI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgei1pbmRleDogMjMxMTIzMTI7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51IC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbTpob3ZlciA+IGE6YmVmb3JlLCAuZmxvLWhlYWRlcl9fbWVudSAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyA+IC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW06bm90KDpob3ZlcikgPiBhOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUgLmZsby1oZWFkZXJfX21lbnUtaXRlbXMgPiAubWVudS1pdGVtID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudSAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyA+IC5tZW51LWl0ZW0gPiBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAwLjY4NzVyZW0pO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSBsaTpob3ZlciA+IHVsIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOiAxMi41cmVtO1xuICAgICAgcGFkZGluZzogMS40Mzc1cmVtIDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAyLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDM3NXJlbTsgfVxuICAgICAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGE6YmVmb3JlLCAuZmxvLWhlYWRlcl9fbWVudSBsaSB1bCBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIGxpID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMS40Mzc1cmVtKTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gdWw6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8taGVhZGVyX19sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8taGVhZGVyX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1oZWFkZXJfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1zdGlja3ksIC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmZsby1oZWFkZXIgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcyBhIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luOiAwLjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZzogMi41cmVtIDA7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuMjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUtaXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjQwNjI1cmVtOyB9XG4gICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUtaXRlbXMgPiAubWVudS1pdGVtID4gYTpiZWZvcmUge1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBib3R0b206IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MgYSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjQ2ODc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMi41cmVtIDkuMDYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbGVmdC1hcmVhLFxuICAgIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX3JpZ2h0LWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogOC40Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiA5LjU2MjVyZW07XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX2xlZnQtYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVyZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX3RhZ2xpbmUtMi1wcmV0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19taWRkbGUtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nOiAwIDIuODEyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX2xvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4zMTI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDIuMDYyNXJlbSAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51IC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUtaXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjE4NzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19yaWdodC1hcmVhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fdGFnbGluZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzIGEge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyLjQzNzVyZW0gOS4wNjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fbWVudS0tbGVmdCwgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX21lbnUtLWxlZnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fbWVudS0tbGVmdCAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjgxMjVyZW07IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX21lbnUtLWxlZnQgPiBkaXYgPiB1bCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgICByaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pO1xuICAgICAgICAgIGxlZnQ6IGF1dG87IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuODEyNXJlbTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgPiBkaXYgPiB1bCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1kLW9yLWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMi40Mzc1cmVtIDkuMDYyNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWQtb3ItZSAuZmxvLWhlYWRlcl9fbG9nby1hbmQtdGFnbGluZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWQtb3ItZSAuZmxvLWhlYWRlcl9fc2VwYXJhdG9yIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIG1hcmdpbjogMCAyLjEyNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBoZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgIHdpZHRoOiAwcHg7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1kLW9yLWUgLmZsby1oZWFkZXJfX21lbnUge1xuICAgICAgd2lkdGg6IDMzLjc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZC1vci1lIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgaGVhZGVyW2RhdGEtbGF5b3V0PVwiZmxvLWhlYWRlci0tbGF5b3V0LXR5cGUtZFwiXSAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIGhlYWRlcltkYXRhLWxheW91dD1cImZsby1oZWFkZXItLWxheW91dC10eXBlLWRcIl0gLmZsby1oZWFkZXJfX21lbnUtaXRlbXMgPiAubWVudS1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjgxMjVyZW07IH1cbiAgaGVhZGVyW2RhdGEtbGF5b3V0PVwiZmxvLWhlYWRlci0tbGF5b3V0LXR5cGUtZVwiXSAuZmxvLWhlYWRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIGhlYWRlcltkYXRhLWxheW91dD1cImZsby1oZWFkZXItLWxheW91dC10eXBlLWVcIl0gLmZsby1oZWFkZXJfX21lbnUtaXRlbXMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIGhlYWRlcltkYXRhLWxheW91dD1cImZsby1oZWFkZXItLWxheW91dC10eXBlLWVcIl0gLmZsby1oZWFkZXJfX21lbnUtaXRlbXMgPiAubWVudS1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi44MTI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWYtb3ItZyB7XG4gICAgcGFkZGluZzogMi40Mzc1cmVtIDkuMDYyNXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWYtb3ItZyAuZmxvLWhlYWRlcl9fdG9wLWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjkzNzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1mLW9yLWcgLmZsby1oZWFkZXJfX2JvdHRvbS1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWluLWhlaWdodDogMS4xODc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZi1vci1nIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuODEyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWYtb3ItZyAuZmxvLWhlYWRlcl9fdGFnbGluZSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjgxMjVyZW07IH1cbiAgaGVhZGVyW2RhdGEtbGF5b3V0PVwiZmxvLWhlYWRlci0tbGF5b3V0LXR5cGUtZ1wiXSAuZmxvLWhlYWRlcl9fdG9wLWFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1oLW9yLWkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMi40Mzc1cmVtIDYuMjVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1oLW9yLWkgLmZsby1oZWFkZXJfX21lbnUtYW5kLWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1oLW9yLWkgLmZsby1oZWFkZXJfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgcGFkZGluZzogMC43MTg3NXJlbSAxLjQzNzVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICBoZWFkZXJbZGF0YS1sYXlvdXQ9XCJmbG8taGVhZGVyLS1sYXlvdXQtdHlwZS1oXCJdIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMzEyNXJlbTsgfVxuICBoZWFkZXJbZGF0YS1sYXlvdXQ9XCJmbG8taGVhZGVyLS1sYXlvdXQtdHlwZS1oXCJdIC5mbG8taGVhZGVyX19mZWF0dXJlZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogNC44MTI1cmVtOyB9XG4gIGhlYWRlcltkYXRhLWxheW91dD1cImZsby1oZWFkZXItLWxheW91dC10eXBlLWlcIl0gLmZsby1oZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICBoZWFkZXJbZGF0YS1sYXlvdXQ9XCJmbG8taGVhZGVyLS1sYXlvdXQtdHlwZS1pXCJdIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0LjMxMjVyZW07IH1cbiAgaGVhZGVyW2RhdGEtbGF5b3V0PVwiZmxvLWhlYWRlci0tbGF5b3V0LXR5cGUtaVwiXSAuZmxvLWhlYWRlcl9fZmVhdHVyZWQtbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0LjgxMjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtaiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXRvcDogMy42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2LjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDkuMDYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS10b3Atd3JhcCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS13cmFwLS1vcGVuIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXRyaWdnZXItaWNvbi0tb3BlbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtd3JhcC0tb3BlbiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS10cmlnZ2VyLWljb24tLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS13cmFwLS1vcGVuIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXRyaWdnZXItbGFiZWwtLW9wZW4ge1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXdyYXAtLW9wZW4gLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtdHJpZ2dlci1sYWJlbC0tY2xvc2Uge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXdyYXAtLW9wZW4gLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtaW4td2lkdGg6IDEwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDIuMDYyNXJlbSAyLjgxMjVyZW07XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXRyaWdnZXItaWNvbi13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtdHJpZ2dlci1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtdHJpZ2dlci1pY29uLS1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXRyaWdnZXItbGFiZWwtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LXRyaWdnZXItbGFiZWwge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS10cmlnZ2VyLWxhYmVsLS1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSAyLjA2MjVyZW0pO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDIuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjU2MjVyZW07XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgPiB1bCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHJpZ2h0OiAwLjg3NXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICB3aWR0aDogMC4zNDM3NXJlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMi44MTI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS1pdGVtcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS1pdGVtcyA+IGxpIHVsIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC44MTI1cmVtKTtcbiAgICAgICAgcGFkZGluZzogMS40Mzc1cmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMC44NzVyZW07XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS1pdGVtcyA+IGxpIHVsOmJlZm9yZSwgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS1pdGVtcyA+IGxpIHVsOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtaXRlbXMgPiBsaSB1bDpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX3BvcHVwLW1lbnUtaXRlbXMgPiBsaSB1bDphZnRlciB7XG4gICAgICAgICAgbGVmdDogMTAwJTsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zID4gbGkgdWwgbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAxLjQzNzVyZW07IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zID4gbGkgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zID4gbGkgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcG9wdXAtbWVudS1pdGVtcyA+IGxpID4gdWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19wb3B1cC1tZW51LWl0ZW1zID4gbGkgPiB1bCB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAuODEyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWogLmZsby1oZWFkZXJfX21lbnUtYXJlYSB7XG4gICAgICB3aWR0aDogY2FsYygzMCUgLSAyLjgxMjVyZW0pOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1qIC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS44NDM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuKiB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4vKiBTVEFSVDogU1RJQ0tZIEhFQURFUiBTVFlMRVMgKi9cbi5mbG8taGVhZGVyLS1zdGlja3kgLnN0aWNreS13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLnN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1zdGlja3kge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4vKiBFTkQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG4uZmxvLWJsb2NrLS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uZmxvX3BhZ2Vfd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvX3BhZ2Vfd3JhcC0tcGFkZGluZy10b3AtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA5LjM3NXJlbTsgfVxuXG4uZmxvX3BhZ2Uge1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tcG9zdC13cmFwIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZsby1wb3N0LS1ub3QtZm91bmQge1xuICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cblxuLmZsby1wb3N0LCAuZmxvLXBvc3RfX3N0eWxlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAzLjAgQWxpZ25tZW50c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgOC4wIExpc3RzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAxNi4wIE1lZGlhXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cbiAgLyogTWVkaWEgRWxlbWVudHMgKi9cbiAgLyogQXVkaW8gUGxheWVyICovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMTYuMSBHYWxsZXJpZXNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBzcGFjaW5nIGJlbG93IGltYWdlICovIH1cbiAgLmZsby1wb3N0IGltZywgLmZsby1wb3N0X19zdHlsZXMgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1wb3N0IHAsIC5mbG8tcG9zdF9fc3R5bGVzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5mbG8tcG9zdCBwOmxhc3Qtb2YtdHlwZSwgLmZsby1wb3N0X19zdHlsZXMgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXBvc3QgYmxvY2txdW90ZSwgLmZsby1wb3N0X19zdHlsZXMgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLXBvc3QgYmxvY2txdW90ZSBwLCAuZmxvLXBvc3RfX3N0eWxlcyBibG9ja3F1b3RlIHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgLmZsby1wb3N0IGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUsIC5mbG8tcG9zdF9fc3R5bGVzIGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tcG9zdCBoMSwgLmZsby1wb3N0IGgyLCAuZmxvLXBvc3QgaDMsIC5mbG8tcG9zdCBoNCwgLmZsby1wb3N0IGg1LCAuZmxvLXBvc3QgaDYsIC5mbG8tcG9zdF9fc3R5bGVzIGgxLCAuZmxvLXBvc3RfX3N0eWxlcyBoMiwgLmZsby1wb3N0X19zdHlsZXMgaDMsIC5mbG8tcG9zdF9fc3R5bGVzIGg0LCAuZmxvLXBvc3RfX3N0eWxlcyBoNSwgLmZsby1wb3N0X19zdHlsZXMgaDYge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgLmZsby1wb3N0IC5hbGlnbmxlZnQsIC5mbG8tcG9zdF9fc3R5bGVzIC5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtOyB9XG4gIC5mbG8tcG9zdCAuYWxpZ25yaWdodCwgLmZsby1wb3N0X19zdHlsZXMgLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtOyB9XG4gIC5mbG8tcG9zdCAuYWxpZ25jZW50ZXIsIC5mbG8tcG9zdF9fc3R5bGVzIC5hbGlnbmNlbnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5mbG8tcG9zdCB1bCxcbiAgLmZsby1wb3N0IG9sLCAuZmxvLXBvc3RfX3N0eWxlcyB1bCxcbiAgLmZsby1wb3N0X19zdHlsZXMgb2wge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZsby1wb3N0IHVsLCAuZmxvLXBvc3RfX3N0eWxlcyB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYzsgfVxuICAuZmxvLXBvc3Qgb2wsIC5mbG8tcG9zdF9fc3R5bGVzIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG4gIC5mbG8tcG9zdCBsaSA+IHVsLFxuICAuZmxvLXBvc3QgbGkgPiBvbCwgLmZsby1wb3N0X19zdHlsZXMgbGkgPiB1bCxcbiAgLmZsby1wb3N0X19zdHlsZXMgbGkgPiBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07IH1cbiAgLmZsby1wb3N0IGR0LCAuZmxvLXBvc3RfX3N0eWxlcyBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZmxvLXBvc3QgZGQsIC5mbG8tcG9zdF9fc3R5bGVzIGRkIHtcbiAgICBtYXJnaW46IDAgMS41ZW0gMS41ZW07IH1cbiAgLmZsby1wb3N0IGltZyxcbiAgLmZsby1wb3N0IHZpZGVvLCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIHZpZGVvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogTWFrZSBzdXJlIGltYWdlcyBhcmUgc2NhbGVkIGNvcnJlY3RseS4gKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogQWRoZXJlIHRvIGNvbnRhaW5lciB3aWR0aC4gKi9cbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZmxvLXBvc3QgLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5LCAuZmxvLXBvc3RfX3N0eWxlcyAuY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuZmxvLXBvc3QgZW1iZWQsXG4gIC5mbG8tcG9zdCBpZnJhbWUsXG4gIC5mbG8tcG9zdCBvYmplY3QsIC5mbG8tcG9zdF9fc3R5bGVzIGVtYmVkLFxuICAuZmxvLXBvc3RfX3N0eWxlcyBpZnJhbWUsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIG9iamVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZmxvLXBvc3QgLndwLWNhcHRpb24sXG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbiBhLFxuICAuZmxvLXBvc3QgLmdhbGxlcnktY2FwdGlvbiwgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24sXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC53cC1jYXB0aW9uIGEsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtc2l6ZTogMC42MTI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAuZmxvLXBvc3QgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSwgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0LCAuZmxvLXBvc3QgLndwLWNhcHRpb24tdGV4dCBhLCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0LCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbi10ZXh0IGEge1xuICAgIG1hcmdpbjogMC44MDc1ZW0gMDsgfVxuICAuZmxvLXBvc3QgLndwLWNhcHRpb24gcCwgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXBvc3QgLm1lanMtY29udGFpbmVyLCAuZmxvLXBvc3RfX3N0eWxlcyAubWVqcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1wb3N0IC5tZWpzLWNvbnRyb2xzIGEubWVqcy1ob3Jpem9udGFsLXZvbHVtZS1zbGlkZXIsXG4gIC5mbG8tcG9zdCAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmZvY3VzLFxuICAuZmxvLXBvc3QgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpob3ZlciwgLmZsby1wb3N0X19zdHlsZXMgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcixcbiAgLmZsby1wb3N0X19zdHlsZXMgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpmb2N1cyxcbiAgLmZsby1wb3N0X19zdHlsZXMgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmc6IDAgMWVtIDAgMDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIGEsIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYSxcbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYTpob3ZlcixcbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYTpmb2N1cywgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhLFxuICAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGE6aG92ZXIsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWl0ZW0gYTpmb2N1cyB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtIGEgaW1nLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLCAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtIGE6aG92ZXIgaW1nLFxuICAuZmxvLXBvc3QgLmdhbGxlcnktaXRlbSBhOmZvY3VzIGltZywgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhOmhvdmVyIGltZyxcbiAgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhOmZvY3VzIGltZyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoNjAlKTtcbiAgICBmaWx0ZXI6IG9wYWNpdHkoNjAlKTsgfVxuICAuZmxvLXBvc3QgLmdhbGxlcnktY2FwdGlvbiwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZsby1wb3N0IGEgaW1nLCAuZmxvLXBvc3QgaW1nLCAuZmxvLXBvc3QgaW1nLmFsaWdubGVmdCwgLmZsby1wb3N0IGltZy5hbGlnbnJpZ2h0LCAuZmxvLXBvc3QgaW1nLmFsaWduY2VudGVyLCAuZmxvLXBvc3RfX3N0eWxlcyBhIGltZywgLmZsby1wb3N0X19zdHlsZXMgaW1nLCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcuYWxpZ25sZWZ0LCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcuYWxpZ25yaWdodCwgLmZsby1wb3N0X19zdHlsZXMgaW1nLmFsaWduY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXBvc3QsIC5mbG8tcG9zdF9fc3R5bGVzIHtcbiAgICAgIC8qIEdhbGxlcnkgQ29sdW1ucyAqLyB9XG4gICAgICAuZmxvLXBvc3QgZGl2LmdhbGxlcnksIC5mbG8tcG9zdF9fc3R5bGVzIGRpdi5nYWxsZXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAwcHg7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTYuNjYlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4yODUlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTEuMTExJTsgfSB9XG5cbi5wb3N0LXBhc3N3b3JkLWZvcm0ge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0byA2MHB4OyB9XG4gIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiYmJiICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5mbG8tcmVsYXRlZC1pdGVtc19fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgcGFkZGluZy1ib3R0b206IDIuMDYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuXG4uZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG8tcmVsYXRlZC1pdGVtc19faXRlbS1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtIHtcbiAgICB3aWR0aDogMzkuMzc1cmVtOyB9XG4gICAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4LjQzNzVyZW07IH1cbiAgICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW06aG92ZXIgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtLWltYWdlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0taW1hZ2Uge1xuICAgIGhlaWdodDogMTMuODQzNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDUuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0taW1hZ2Uge1xuICAgIGhlaWdodDogMTIuNXJlbTsgfSB9XG5cbi5mbG8tcmV2ZWFsIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTAwMDAwMTsgfVxuICAuZmxvLXJldmVhbC0tdmlzaWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1yZXZlYWwtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5mbG8tcmV2ZWFsLS1yZWFkeSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tcmV2ZWFsW2RhdGEtaW5pdGlhbC1wb3NpdGlvbj1cImxlZnRcIl0ge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgIC5mbG8tcmV2ZWFsW2RhdGEtaW5pdGlhbC1wb3NpdGlvbj1cImxlZnRcIl0uZmxvLXJldmVhbC0tdmlzaWJsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTsgfVxuICAuZmxvLXJldmVhbFtkYXRhLWluaXRpYWwtcG9zaXRpb249XCJyaWdodFwiXSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICAuZmxvLXJldmVhbFtkYXRhLWluaXRpYWwtcG9zaXRpb249XCJyaWdodFwiXS5mbG8tcmV2ZWFsLS12aXNpYmxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApOyB9XG4gIC5mbG8tcmV2ZWFsLW92ZXJsYXkge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1yZXZlYWwtb3ZlcmxheTpub3QoLmZsby1yZXZlYWwtb3ZlcmxheS0tdmlzaWJsZSkge1xuICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZsby1yZXZlYWwtb3ZlcmxheSB7XG4gICAgei1pbmRleDogMTAwMDAwOyB9XG5cbi5mbG8tc2xpZGVzaG93IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICAvKiBTVEFSVDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG4gIC8qIEVORDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG4gIC8qIFNUQVJUOiBDT1VOVEVSICovXG4gIC8qIEVORDogQ09VTlRFUiAqL1xuICAvKiBTVEFSVDogVElUTEUgQVJFQSAqL1xuICAvKiBFTkQ6IFRJVExFIEFSRUEgKi9cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovIH1cbiAgLmZsby1zbGlkZXNob3ctLW9uZS1zbGlkZSAuc2xpY2stbGlzdCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1zbGlkZXNob3dfX3NsaWRlcyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19zbGlkZXMgLnNsaWNrLWxpc3QsXG4gICAgLmZsby1zbGlkZXNob3dfX3NsaWRlcyAuc2xpY2stdHJhY2ssXG4gICAgLmZsby1zbGlkZXNob3dfX3NsaWRlcyAuc2xpY2stc2xpZGUsXG4gICAgLmZsby1zbGlkZXNob3dfX3NsaWRlcyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZy0tYmdpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nLS1iZ2kge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8gdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvLS1jcm9wcGVkIHZpZGVvIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvLS1uby1jcm9wIHZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUuZ3JhZGllbnQtdmlzaWJsZSAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNjY2OyB9XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWc6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWctLWJnaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7IH1cbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7IH1cbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nLS1iZ2kge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEsXG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogbm9uZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIHtcbiAgICAgIGN1cnNvcjogbm9uZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgICBsZWZ0OiA2LjA2MjVyZW07XG4gICAgICBib3R0b206IDIwLjY4NzVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fY291bnRlciB7XG4gICAgICBib3R0b206IDQuMzc1cmVtO1xuICAgICAgbGVmdDogNC41NjI1cmVtO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayB7XG4gICAgICBib3R0b206IDQuMzc1cmVtO1xuICAgICAgcmlnaHQ6IDQuNTYyNXJlbTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluay10aXRsZS1hcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hOmhvdmVyIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBvcGFjaXR5IDAuNXMsIHRyYW5zZm9ybSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0LmludmVydGVkIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fYXJyb3ctbmV4dC52ZXJ0aWNhbCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgIWltcG9ydGFudDsgfVxuICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0IGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2JhY2tncm91bmQge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYXJyb3dzIHtcbiAgICBmb250LXNpemU6IDAuNXJlbTsgfVxuICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA5LjA2MjVyZW0pO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjAuMzEyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdG9wOiAyMy4xODc1cmVtO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93IHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYXJyb3c6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93LS1uZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGU6bm90KC5zbGljay1jdXJyZW50KSAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZTpub3QoLnNsaWNrLWN1cnJlbnQpIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZS13cmFwIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNS4zMTI1cmVtKTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUuZ3JhZGllbnQtdmlzaWJsZSAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2U6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDY4LjEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogOS4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi4xODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDkuMDYyNXJlbTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2Utd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhIHtcbiAgICAgIGJvdHRvbTogNC42ODc1cmVtO1xuICAgICAgbGVmdDogNS4zMTI1cmVtO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEtcHJldGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgbGVmdDogNjkuMDYyNXJlbTtcbiAgICAgIGJvdHRvbTogNi41NjI1cmVtO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlci1pbmRleCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItc2VwYXJhdG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlci1jb3VudCB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2JhY2tncm91bmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1jLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIC5mbG8taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYyAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1jIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMge1xuICAgIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgLyogRU5EOiBTTElERVMgKi9cbiAgICAvKiBTVEFSVDogRkVBVFVSRUQgTElOSyAqL1xuICAgIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgLyogRU5EOiBSSUdIVCBCQVIgKi8gfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEtbG9nbyAuZmxvLWhlYWRlci1sb2dvIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYS1zb2NpYWwtbGlua3MgYTpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXdyYXAge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyB7XG4gICAgICAgIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgICAgICAvKiBFTkQ6IFRPUCBBUkVBICovXG4gICAgICAgIC8qIFNUQVJUOiBTTElERVMgKi9cbiAgICAgICAgLyogRU5EOiBTTElERVMgKi9cbiAgICAgICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovXG4gICAgICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgICAvKiBFTkQ6IFNMSURFIFNFTEVDVE9SICovXG4gICAgICAgIC8qIFNUQVJUOiBSSUdIVCBCQVIgKi9cbiAgICAgICAgLyogU1RBUlQ6IEhFQURFUiBQT1BVUCBTVFlMRSAqL1xuICAgICAgICAvKiBFTkQ6IEhFQURFUiBQT1BVUCBTVFlMRSAqL1xuICAgICAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqLyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOS4wNjI1cmVtKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDUuNjI1cmVtIDAgOS4wNjI1cmVtOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEtc29jaWFsLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjc1cmVtOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDkuMDYyNXJlbSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNXJlbSk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgICBib3R0b206IDEyLjA2MjVyZW07XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gOS4wNjI1cmVtKTtcbiAgICAgICAgICBoZWlnaHQ6IDVyZW07IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9ycyAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3LjYyNXJlbSk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci5zbGljay1jdXJyZW50OmJlZm9yZSwgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvcjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45OyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci5zbGljay1jdXJyZW50IC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci13cmFwIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMS42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNy42MjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMS42MjVyZW07XG4gICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAyLjMxMjVyZW0pO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogMS40Njg3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itc2Vjb25kLXByZXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fcmlnaHQtYmFyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICB3aWR0aDogOS4wNjI1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fcmlnaHQtYmFyLXNlYXJjaC10cmlnZ2VyIHtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3JpZ2h0LWJhci1saW5rIHtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHRiLXJsOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fcmlnaHQtYmFyLW1lbnUtdHJpZ2dlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cDpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fbWFpbi13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RyZXRjaDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1LjYyNXJlbTsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX190b3AtYmFyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgICByaWdodDogMS42MjVyZW07XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMgLmZsby1oZWFkZXItcG9wdXBfX2Nsb3NlIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19zZWFyY2gge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19zZWFyY2gtaW5wdXQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fbWVudSB7XG4gICAgICAgICAgaGVpZ2h0OiA1MHZoOyB9XG4gICAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMS4yNXJlbTsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19zb2NpYWwtbGlua3Mge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDEuODc1cmVtO1xuICAgICAgICAgIGxlZnQ6IDUuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMge1xuICAgICAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuICAgICAgICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgICAgIC8qIEVORDogU0xJREVTICovXG4gICAgICAgIC8qIFNUQVJUOiBGRUFUVVJFRCBMSU5LICovXG4gICAgICAgIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuICAgICAgICAvKiBTVEFSVDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgICAgIC8qIEVORDogUklHSFQgQkFSICovIH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICAgICAgICBoZWlnaHQ6IDVyZW07IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9ycyAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxLjI1cmVtKTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyLjVyZW0pO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci5zbGljay1jdXJyZW50IC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci13cmFwOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci13cmFwIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMS42MjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMi41cmVtKTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itd3JhcDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pO1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMS42MjVyZW07XG4gICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAyLjMxMjVyZW0pO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjQ2ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci10aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19yaWdodC1iYXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLFxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0LFxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlci1pbmRleCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLXNlcGFyYXRvciwgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItY291bnQge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlci1zZXBhcmF0b3Ige1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAwLjY4NzVyZW07XG4gICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItY291bnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICByaWdodDogMy40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYS1wcmV0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhLXByZXRpdGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogMS40Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzEyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEtdGl0bGUge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMuMSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IDMwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluay10aXRsZS1hcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstcHJldGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluay10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstdGl0bGUgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgd2lkdGg6IDcuMzQzNzVyZW07XG4gICAgaGVpZ2h0OiA3LjM0Mzc1cmVtO1xuICAgIGJvcmRlcjogMC43ODEyNXJlbSBzb2xpZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstZGl2aWRlciB7XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1hIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1hIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5LmlzLW1haW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9IH1cblxuLmZsby1zcGxhc2gge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB6LWluZGV4OiAxMDAwMDAwMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbG8tc3BsYXNoX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tbWVkaXVtLXVwIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tc21hbGwtb25seSB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zcGxhc2hfX2NvbnRlbnQtLW1lZGl1bS11cCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1zcGxhc2hfX2NvbnRlbnQtLXNtYWxsLW9ubHkge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbG8tdGV4dC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuXG4uZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2NvbnRhaW5lciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMi41cmVtO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDQuMDYyNXJlbTtcbiAgaGVpZ2h0OiA0LjA2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDQuMDYyNXJlbTtcbiAgZm9udC1zaXplOiAwLjk3MzQ1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5pdGlhbDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgdG9wIDAuNXMsIGJvdHRvbSAwLjVzLCBvcGFjaXR5IDAuNXMsIGJvcmRlciAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC40OyB9XG5cbi5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbi0tcGxheSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbi1pY29uLS1zdG9wIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgdG9wOiA1MCU7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbi0tcGxheSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkLS1idXR0b24tYXQtYm90dG9tIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgdG9wOiA4MCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8taGVyby12aWRlby1lbWJlZC0tYnV0dG9uLW1vYmlsZS1ib3R0b20gLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgIHRvcDogODAlOyB9IH1cblxuLyogU1RBUlQ6IEJVVFRPTiBISURERU4gKi9cbi5mbG8taGVyby12aWRlby1lbWJlZC0tYnV0dG9uLWhpZGRlbiAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIEVORDogQlVUVE9OIEhJRERFTiAqL1xuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1ibG9ja19faGVhZGVyLCAudmlkZW8taXMtcGxheWluZyAuZmxvLWhlYWRlci1tb2JpbGUsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19jZW50ZXJlZC1sb2dvLCAudmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fdHlwZS1hLW1lbnUsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19zbGlkZS1jb250ZW50LCAudmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fY291bnRlciwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLCAudmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZSwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fY29udGVudC13cmFwLCAudmlkZW8taXMtcGxheWluZyAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19jb250ZW50LXdyYXAsIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2NvbnRlbnQtd3JhcCwgLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fYXJyb3dzLCAudmlkZW8taXMtcGxheWluZyAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19jb3VudGVyIHtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAudmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4udmlkZW8taXMtcGxheWluZyAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2NvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgdG9wOiA2LjI1cmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uLWljb24tLXBsYXkge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuXG4udmlkZW8taXMtcGxheWluZyAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbi1pY29uLS1zdG9wIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmc6bm90KDpob3ZlcikgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX3BhZ2luYXRpb24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uX19saW5rIHtcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgMTQuNjg3NXJlbTsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX3BhZ2luYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgOS4wNjI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuICAgICAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtNC41MzEyNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxLjQ2ODc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDFweDsgfVxuICAgICAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fbGluay0tcHJldiB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDEuOTM3NXJlbTsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX3BhZ2luYXRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgd2lkdGg6IDQ1O1xuICAgICAgZmxleC1ncm93OiAwOyB9IH1cblxuLmZsby13cC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLXdwLXRpdGxlX190aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uZmxvX3NpZGViYXIgLmNvbHVtbiwgLmZsb19zaWRlYmFyIC5jb2x1bW5zIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICBwYWRkaW5nOiAwIDIuNXJlbTsgfVxuICAuZmxvX3NpZGViYXIgLmNvbHVtbjpsYXN0LWNoaWxkLCAuZmxvX3NpZGViYXIgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvX3NpZGViYXIuZmxvX3NpZGViYXItLW9uLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uZmxvX3NpZGViYXIgLmZpZ3VyZS1oaWRlLWltZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5mbG9fc2lkZWJhciAuZmlndXJlLWhpZGUtaW1nIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsb19zaWRlYmFyIC53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG4uZmxvX3NpZGViYXIgKiB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cblxuLmZsb19zaWRlYmFyIC53aWRnZXRfc2VhcmNoIC5zZWFyY2gtZmllbGQge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5mbG9fc2lkZWJhciAud2lkZ2V0X3NlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG9fc2lkZWJhciB7XG4gICAgd2lkdGg6IDE0LjA2MjVyZW0gIWltcG9ydGFudDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IDUuNjI1cmVtO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB6LWluZGV4OiAxMDA7IH1cbiAgICAuZmxvX3NpZGViYXItLW9uLWxlZnQge1xuICAgICAgb3JkZXI6IC0xO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1LjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG9fc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJvZHlfaGFzX3NpZGViYXIge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuYm9keV9oYXNfc2lkZWJhciAuZmxvLWJsb2NrLmNvbnRhaW5zX3NpZGViYXIge1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuYm9keV9oYXNfc2lkZWJhci5zaWRlYmFyLXJlYWR5IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuYm9keV9oYXNfc2lkZWJhciAuZmxvLWJsb2NrLS1oZWFkZXIge1xuICAgICAgei1pbmRleDogMTAxICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBCT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuLmZsby13b29jb21tZXJjZS13cmFwIHtcbiAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDBweDsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLXBvc3QgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLXBvc3QgLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgcGFkZGluZzogMWVtIDJlbSAxZW0gMy41ZW07IH1cblxuLndvb2NvbW1lcmNlIHRoZWFkLCAud29vY29tbWVyY2UgdGJvZHksIC53b29jb21tZXJjZSB0Zm9vdCB7XG4gIGJvcmRlcjogMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4ud29vY29tbWVyY2UgLmZsby1wb3N0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5LCAud29vY29tbWVyY2UgLnF1YW50aXR5IGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICB3aWR0aDogNWVtO1xuICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgcGFkZGluZzogMC4xZW07XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSAuY2FydCBpbnB1dC5idXR0b246ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUge1xuICBwYWRkaW5nOiAwOyB9XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcmljZSBkZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGEuYnV0dG9uIHtcbiAgcGFkZGluZzogMC42ZW0gMC44ZW07IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC52YXJpYXRpb25zIHRkLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmFyaWF0aW9ucyAudmFsdWUgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICBib3gtc2hhZG93OiAwIDFweCAwOyB9XG4gIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmFyaWF0aW9ucyAucmVzZXRfdmFyaWF0aW9uczpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfbWV0YSBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfbWV0YSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAucHJvZHVjdF9tZXRhIC50YWdnZWRfYXMge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC5yZWxhdGVkIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyBsaS5hY3RpdmUgYSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgYm9yZGVyOiAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnM6YmVmb3JlIHtcbiAgICBib3JkZXI6IDBweDsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTpiZWZvcmUsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ud29vY29tbWVyY2UgLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLndvb2NvbW1lcmNlIC5jaGVja291dCAud2NfcGF5bWVudF9tZXRob2QgLmlucHV0LXJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLndvb2NvbW1lcmNlIHAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItcmVjZWl2ZWQge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1kZXRhaWxzIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1kZXRhaWxzIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1kZXRhaWxzIGxpIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAuYWRkcmVzc2VzIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UtTWVzc2FnZSBiciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAuYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZS1NZXNzYWdlIC5idXR0b24sIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLnNob3BfdGFibGUgLmJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAuaXMtYWN0aXZlIGEge1xuICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmlzLWFjdGl2ZSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gYTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDA7IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1BZGRyZXNzLXRpdGxlIC5lZGl0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDFweCAwOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtQWRkcmVzcy10aXRsZSAuZWRpdDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgLm9yZGVyX2RldGFpbHMgLnByb2R1Y3QtbmFtZSBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuICAud29vY29tbWVyY2UgLm9yZGVyX2RldGFpbHMgLnByb2R1Y3QtbmFtZSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSAub3JkZXJfZGV0YWlscyBsaSB7XG4gIGJvcmRlci1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLndvb2NvbW1lcmNlIC5hY3Rpb25zIC5jb3Vwb24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGhlaWdodDogMi42MjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAuYWN0aW9ucyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi53b29jb21tZXJjZSAuYWN0aW9ucyBpbnB1dC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGhlaWdodDogMi42MjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzUxNTE1MTsgfVxuXG4ud29vY29tbWVyY2UgZm9ybSBwLCAud29vY29tbWVyY2UgdGFibGUgcCB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAub3JkZXItbnVtYmVyIGEgYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSAjY291cG9uX2NvZGUge1xuICBtaW4td2lkdGg6IDE1ZW07XG4gIGhlaWdodDogMi41NXJlbTsgfVxuXG4ud29vY29tbWVyY2UgLmJ1dHRvbiBiciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbiwgLndvb2NvbW1lcmNlIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuNDBlbSAwLjVlbTsgfVxuXG4ud29vY29tbWVyY2UgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSwgLndvb2NvbW1lcmNlIHRleHRhcmVhIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuXG4ud29vY29tbWVyY2UgdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmxvYWRpbmc6OmFmdGVyIHtcbiAgcmlnaHQ6IC0yZW07IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1SZXZpZXdzLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ud29vY29tbWVyY2UgLmNvbW1lbnQtZm9ybSAuY29tbWVudC1ub3RlcywgLndvb2NvbW1lcmNlIC5jb21tZW50LWZvcm0gLmNvbW1lbnQtZm9ybS1hdXRob3IsIC53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIC5jb21tZW50LWZvcm0tZW1haWwsIC53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIC5jb21tZW50LWZvcm0tcmF0aW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAuY29tbWVudC1mb3JtIC5jb21tZW50LW5vdGVzIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cblxuLyogRU9GIFdPT0NPTU1FUkNFIFNVUFBPUlQgKi9cbi5ib2R5X2hhc19zaWRlYmFyIC5mbG8taWNvbi1zaWRlYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsb19zaWRlYmFyLS1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEVORDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbiIsIi8qIFNUQVJUOiBWRU5ET1IgKi9cbiAgQGltcG9ydCBcInZlbmRvci9mb3VuZGF0aW9uL19zZXR0aW5ncy5zY3NzXCI7XG4gIEBpbXBvcnQgXCJmb3VuZGF0aW9uLnNjc3NcIjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ldmVyeXRoaW5nKCk7XG4gIEBpbXBvcnQgXCJtb3Rpb24tdWlcIjtcbiAgQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuLyogRU5EOiBWRU5ET1IgKi9cblxuLyogU1RBUlQ6IEdMT0JBTCAqL1xuICBAaW1wb3J0IFwiZ2xvYmFsL2dsb2JhbC5zY3NzXCI7XG4vKiBFTkQ6IEdMT0JBTCAqL1xuXG4vKiBTVEFSVDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvY29tbWVudHMtYmxvY2svY29tbWVudHMtYmxvY2subWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL2Zsby1ibG9jay9mbG8tYmxvY2subWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL2Zsby1mb3JtL2Zsby1mb3JtLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tbHFpcC9mbG8tbHFpcC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLXBhZ2Utd3JhcC9mbG8tcGFnZS13cmFwLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tc2hhcmUtcm9sbG92ZXIvZmxvLXNoYXJlLXJvbGxvdmVyLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tc2xpZGVyL2Zsby1zbGlkZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQtZHVtbXkubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL3NvY2lhbC1saW5rcy9zb2NpYWwtbGlua3MubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1idXR0b24vZmxvLWJsb2NrLWJ1dHRvbi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEvZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb21tZW50cy9mbG8tYmxvY2stY29tbWVudHMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMi9mbG8tYmxvY2stY29udGFjdC1ibG9jay0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmFxLWJsb2NrLTEvZmxvLWJsb2NrLWZhcS1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmFxLWJsb2NrLTIvZmxvLWJsb2NrLWZhcS1ibG9jay0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTIvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staG9yaXpvbnRhbC1kaXZpZGVyL2Zsby1ibG9jay1ob3Jpem9udGFsLWRpdmlkZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtYmxvY2stMi9mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy0yL2Zsby1ibG9jay1pbWFnZS1saW5rcy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtbGlua3MtMy9mbG8tYmxvY2staW1hZ2UtbGlua3MtMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWludHJvLWJsb2NrL2Zsby1ibG9jay1pbnRyby1ibG9jay5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tY2F0ZWdvcmllcy9mbG8tYmxvY2staXRlbS1jYXRlZ29yaWVzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTEvZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10YWdzL2Zsby1ibG9jay1pdGVtLXRhZ3MubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXRpdGxlLTEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMi9mbG8tYmxvY2staXRlbS10aXRsZS0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10aXRsZS0zL2Zsby1ibG9jay1pdGVtLXRpdGxlLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXZlbmRvcnMtMi9mbG8tYmxvY2staXRlbS12ZW5kb3JzLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXZlbmRvcnMvZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctMS9mbG8tYmxvY2stbGlzdGluZy0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy0yL2Zsby1ibG9jay1saXN0aW5nLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTMvZmxvLWJsb2NrLWxpc3RpbmctMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctNC9mbG8tYmxvY2stbGlzdGluZy00Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy01L2Zsby1ibG9jay1saXN0aW5nLTUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24vZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xL2Zsby1ibG9jay1tb3NhaWMtaW1hZ2UtbGlua3MtMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMS9mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yL2Zsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcmVsYXRlZC1pdGVtcy9mbG8tYmxvY2stcmVsYXRlZC1pdGVtcy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNoYXJlLWxpbmtzL2Zsby1ibG9jay1zaGFyZS1saW5rcy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0xL2Zsby1ibG9jay1zbGlkZXNob3ctMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1zbGlkZXNob3ctMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xL2Zsby1ibG9jay10ZXN0aW1vbmlhbHMtMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stMS9mbG8tYmxvY2stdGV4dC1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay0yL2Zsby1ibG9jay10ZXh0LWJsb2NrLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTMvZmxvLWJsb2NrLXRleHQtYmxvY2stMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stNC9mbG8tYmxvY2stdGV4dC1ibG9jay00Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay01L2Zsby1ibG9jay10ZXh0LWJsb2NrLTUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTYvZmxvLWJsb2NrLXRleHQtYmxvY2stNi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRyYXZlbC1kYXRlcy9mbG8tYmxvY2stdHJhdmVsLWRhdGVzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1jb21tZW50cy9mbG8tY29tbWVudHMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1jdXN0b20tYmxvY2svZmxvLWN1c3RvbS1ibG9jay5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci1zaWRlYmFycy9mbG8tZm9vdGVyLXNpZGViYXJzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1tZW51LXdyYXAvZmxvLWdlbmVyaWMtbWVudS13cmFwLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1zbGlkZXMvZmxvLWdlbmVyaWMtc2xpZGVzLXRlbXBsYXRlLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS1tZW51L2Zsby1oZWFkZXItbW9iaWxlLW1lbnUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1oZWFkZXItbW9iaWxlL2Zsby1oZWFkZXItbW9iaWxlLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1wYWdlLXdyYXAvZmxvLXBhZ2Utd3JhcC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLXBvc3QvZmxvLXBvc3QubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1yZWxhdGVkLWl0ZW1zL2Zsby1yZWxhdGVkLWl0ZW1zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tcmV2ZWFsL2Zsby1yZXZlYWwubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1zbGlkZXNob3cvZmxvLXNsaWRlc2hvdy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLXNwbGFzaC9mbG8tc3BsYXNoLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3Mvd3Avd3AtY29udGVudC90aGVtZXMvZmlqaTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tdGV4dC1jb250ZW50L2Zsby10ZXh0LWNvbnRlbnQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby12aWRlby1idXR0b24vZmxvLWhlcm8tdmlkZW8tZW1iZWQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbi9mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby13cC10aXRsZS9mbG8td3AtdGl0bGUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL3NpZGViYXIvc2lkZWJhci5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL3dwL3dwLWNvbnRlbnQvdGhlbWVzL2ZpamkyL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvd29vY29tbWVyY2Uvd29vY29tbWVyY2UubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy93cC93cC1jb250ZW50L3RoZW1lcy9maWppMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8yL2JvZHktaGFzLXNpZGViYXIvYm9keS1oYXMtc2lkZWJhci5tYWluLnNjc3NcIjtcbi8qIEVORDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8vY3NzL2Zsby1pY29ucy5jc3NcIik7IC8vIHJlbGF0aXZlIHRvIHB1YmxpYy9jc3MvXG5cbmJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIge1xuICAuZmxvLWljb24teW91dHViZTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnWVQnOyB9IC8qICfvhacnICovXG4gIC5mbG8taWNvbi1mbGlja3I6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ0ZLJzsgfSAvKiAn74yDJyAqL1xuICAuZmxvLWljb24tdmltZW86bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ1ZJJzsgfSAvKiAn74yGJyAqL1xuICAuZmxvLWljb24tdHdpdHRlcjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnVFcnOyB9IC8qICfvjIknICovXG4gIC5mbG8taWNvbi1mYWNlYm9vazpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnRkInOyB9IC8qICfvjIwnICovXG4gIC5mbG8taWNvbi1ncGx1czpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnR1AnOyB9IC8qICfvjI8nICovXG4gIC5mbG8taWNvbi1waW50ZXJlc3Q6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ1BJJzsgfSAvKiAn74ySJyAqL1xuICAuZmxvLWljb24tdHVtYmxyOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdUTSc7IH0gLyogJ++MlScgKi9cbiAgLmZsby1pY29uLWxpbmtlZGluOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdMSyc7IH0gLyogJ++MmCcgKi9cbiAgLmZsby1pY29uLWRyaWJiYmxlOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdEQic7IH0gLyogJ++MmycgKi9cbiAgLmZsby1pY29uLWluc3RhZ3JhbTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnSUcnOyB9IC8qICfvjK0nICovXG4gIC5mbG8taWNvbi15YWhvbzpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnWUgnOyB9IC8qICfuoIQnICovXG4gIC5mbG8taWNvbi1kZWxpY2lvdXM6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ0RFJzsgfSAvKiAn7qCFJyAqL1xuICAuZmxvLWljb24tbWFpbDpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnTUwnOyB9IC8qICfuoIYnICovXG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJzsgICAgXG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlIG9yIGJyZWFrcG9pbnQgbmFtZSB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJHByaW1hcnktY29sb3JdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcblxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY2FyZC1mb250LWNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxMikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLXNoYWRvdyBpcyBzZXQsIGFkZCBpdCBhcyBhIHBzZXVkby1lbGVtZW50LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtc2hhZG93IHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vIHRyYW5zZm9ybSBvbiBvdmVybGFwIHRyYW5zaXRpb25cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIElFIGFuZCBFZGdlXG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJG1hcmdpbjogKCRzbGlkZXItaGFuZGxlLWhlaWdodCAtICRzbGlkZXItaGVpZ2h0KSAvIDI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1oYW5kbGUge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6IDApIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNUQVJUOiBURU1QT1JBUlkgKi9cbi8qIEVORDogVEVNUE9SQVJZICovXG5cbi8qIFNUQVJUOiBGTE8gSUNPTlMgKi9cbkBpbXBvcnQgXCJsZXR0ZXItaWNvbnMtZm9udGVsbG8uc2Nzc1wiO1xuLyogRU5EOiBGTE8gSUNPTlMgKi9cblxuLyogU1RBUlQ6IENPTE9SUyAqL1xuJGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuJGNvbG9yLWJsYWNrOiAjMDAwMDAwO1xuJGNvbG9yLWdyYXktZGFyazogI2RkZGNkYjtcbiRjb2xvci1ncmF5OiAjZjlmOWY5O1xuJGNvbG9yLWdyYXktbGlnaHQ6ICNiYmJiYmI7XG4kY29sb3ItZ3JheS1saWdodC0yOiAjZWVlZWVlO1xuXG4kY29sb3ItYnJvd246ICRjb2xvci1ibGFjaztcbi8qIEVORDogQ09MT1JTICovXG5cbi8qIFNUQVJUOiBXSURUSCBWQVJJQUJMRVMgKi9cbiRnbG9iYWwtY29sdW1uLXdpZHRoOiByZW0tY2FsYyg5MCk7XG4kZ2N3OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiRnbG9iYWwtZ3V0dGVyLXdpZHRoOiByZW0tY2FsYygyMCk7XG4kY29udGVudC1kZWZhdWx0LXdpZHRoOiByZW0tY2FsYygxNDQwKTtcbiRjb250ZW50LW1lZGl1bS13aWR0aDogcmVtLWNhbGMoNzYwKTtcblxuLy8gU2V0IGhvcml6b250YWwgcGFkZGluZyB0byBkb3VibGUgY29sdW1uLXdpZHRoIHVudGlsIHdlIGZpbmQgYSBzb2x1dGlvbiBmb3IgZml4ZWQgd2lkdGg7XG4kZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw6IHJlbS1jYWxjKDE0NSk7XG4kZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsOiByZW0tY2FsYygzMSk7XG4kZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsOiByZW0tY2FsYyg1MCk7XG4kZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbDogcmVtLWNhbGMoMzApO1xuXG4kZ2xvYmFsLWNvbHVtbjogcmVtLWNhbGMoOTUpO1xuLyogRU5EOiBXSURUSCBWQVJJQUJMRVMgKi9cblxuXG4vKiBTVEFSVDogTUlYSU5TICovXG5cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cbiRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDogMC41cztcbi8vICRnbG9iYWwtZWFzaW5nOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGdsb2JhbC1lYXNpbmc6IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblxuLnJldmVhbCB7XG4gIC8vIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZ2xvYmFsLWVhc2luZyFpbXBvcnRhbnQ7XG4gIC8vIHRyYW5zaXRpb24tZHVyYXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBnbG9iYWwtdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMuLi4pIHtcbiAgLy8gJHRyYW5zaXRpb25zOiBhcHBlbmQoJHRyYW5zaXRpb25zIGNvbW1hKTtcbiAgJHM6ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgJHVuZm9sZGVkVHJhbnNpdGlvbnM6ICgpO1xuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgICR1bmZvbGRlZFRyYW5zaXRpb25zOiBhcHBlbmQoJHVuZm9sZGVkVHJhbnNpdGlvbnMsICR0cmFuc2l0aW9uICsgXCIgXCIgKyAkcywgY29tbWEpXG4gIH1cbiAgdHJhbnNpdGlvbjogJHVuZm9sZGVkVHJhbnNpdGlvbnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZ2xvYmFsLWVhc2luZztcbn1cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cblxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJG9wYWNpdHksICRjb2xvcil7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuLyogU3RhcnQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cbkBtaXhpbiBnbG9iYWwtYmdpLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ2xvYmFsLWJnaS1jb3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4vKiBFbmQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cblxuLyogU3RhcnQ6IEJveCBTaXppbmcgKi9cbkBtaXhpbiBib3gtc2l6aW5nKCRkYXRhKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGRhdGE7XG4gIC1tb3otYm94LXNpemluZzogJGRhdGE7XG4gIGJveC1zaXppbmc6ICRkYXRhO1xufVxuLyogRW5kOiBCb3ggc2l6aW5nICovXG5cbi8qIFNUQVJUOiBSZXNwb25zaXZlIEltYWdlcyBGb3IgQmFja2dyb3VuZCAqL1xuICBAbWl4aW4gZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoJGJsb2NrX2NsYXNzKSB7XG4gICAgI3skYmxvY2tfY2xhc3N9IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI3skYmxvY2tfY2xhc3N9IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICN7JGJsb2NrX2NsYXNzfSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4vKiBFTkQ6IFJlc3BvbnNpdmUgSW1hZ2VzIEZvciBCYWNrZ3JvdW5kICovXG5cbkBtaXhpbiBnbG9iYWwtY2xpY2thYmxlKCRhbmltYXRlOiBmYWxzZSkge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBAaWYgKCRhbmltYXRlKSB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtLCBjb2xvciwgb3BhY2l0eSk7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxufVxuLmZsby1nbG9iYWwtY2xpY2thYmxlIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAmLXdpdGgtYW5pbWF0aW9uIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKHRydWUpO1xuICB9XG59XG5cbkBtaXhpbiBmbG8tZGlzYWJsZS1mYWRpbmctZWZmZWN0KCRjbGFzcykge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCgjeyRjbGFzc30pOm5vdCguc2luZ2xlLWdhbGxlcnkpIHtcbiAgICAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2ssXG4gICAgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICAgIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICosXG4gICAgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gICAgLnRvLWFwcGVhcixcbiAgICAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAmOm5vdCgudmlzaWJsZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoMTIwKSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIH1cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbF90cmFuc2l0aW9uKG9wYWNpdHksIHRyYW5zZm9ybSk7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGdsb2JhbC1lYXNpbmc7XG4gICAgICAmOm50aC1jaGlsZCgxbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCAqIDIuNSwgdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQgKiAyLjUgMC4xcywgdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCAwLjFzLCBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgICB9XG4gICAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbn1cbi8qIEVORDogTUlYSU5TICovXG5cblxuLyogU1RBUlQ6IEdMT0JBTCBTVFlMRVMgKi9cblxuICBodG1sIHtcbiAgICAvLyBFbnN1cmUgZ29vZCBkZXNpZ24gcHJvcG9ydGlvbiBmcm9tIHRhYmxldCB1cCB3aGlsZSB1c2luZyByZW1zICh5ZXMgZm9yZ2V0IGFib3V0IHpvb20pLlxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmb250LXNpemU6IDEuMjV2dztcbiAgICAgIC8vIGZvbnQtc2l6ZTogMS4xMTExMXZ3O1xuICAgICAgLy8gZm9udC1zaXplOiAxLjJ2dztcbiAgICB9O1xuICB9XG5cbiAgKiB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAvLyBTdHlsZXMgb3V0c2lkZSBwb3N0XG4gICo6bm90KC5mbG8tcG9zdCksICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSB7XG4gICAgYSB7XG4gICAgICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAvLyBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgb3BhY2l0eSk7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIGNvbG9yOiAkY29sb3ItZ3JheS1saWdodDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ob3Zlci1ibG9ja3tcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBmaWd1cmV7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGxpIHtcblxuICAgIH1cblxuICB9XG5cbiAgLy9SZXNldCBkZWZhdWx0IHN0eWxlc1xuICBib2R5e1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICBoMSxoMixoMyxoNCxoNSxoNntcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBbY2xhc3NePVwiZmxvLWljb24tXCJdOmJlZm9yZSxcbiAgW2NsYXNzKj1cIiBmbG8taWNvbi1cIl06YmVmb3Jle1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBidXR0b257XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBhe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgJjp2aXNpdGVke1xuICAgICAgLy8gY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgZmlndXJle1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBwcmV7XG4gICAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG4gIH1cblxuICAucm93e1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgfVxuXG4gIC5yb3ctZmxleHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW57XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG5cbiAgLy9TbGljayBTbGlkZXIgcmVzZXQgZGVmYXVsdCBzdHlsZXNcblxuICAuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgIC5zbGljay1zbGlkZXtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cblxuICAvKiBTVEFSVDogSU5QVVRTICovXG4gICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoOSkgcmVtLWNhbGMoMjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOjFweCBzb2xpZDtcbiAgICAgICAgLy8gYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICB9XG5cbiAgICAgICYuZmxvLW5vLXN0eWxpbmcge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuICAgIHtcbiAgICAgIC8vIGJvcmRlcjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgLy8gaGVpZ2h0OiAxZW07XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J117XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsbGV0dGVyLXNwYWNpbmcpO1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgIC8vIGJvcmRlcjogMDtcbiAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXN7XG4gICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IElOUFVUUyAqL1xuXG4gIC8qIFNUQVJUOiBCVVRUT05TICovXG4gICAgLmZsby1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVxuICAgIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTM1KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE3KSByZW0tY2FsYyg1NCk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcik7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6bm90KC5mbG8tYnV0dG9uLS13aXRob3V0LWJvcmRlcikge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogQlVUVE9OUyAqL1xuXG4vKiBFTkQ6IEdMT0JBTCBTVFlMRVMgKi9cblxuXG4vKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICBAaW5jbHVkZSBmbG8tZGlzYWJsZS1mYWRpbmctZWZmZWN0KCcuZmxvLWFwcGVhci1kaXNhYmxlZCcpO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gIEBpbmNsdWRlIGZsby1kaXNhYmxlLWZhZGluZy1lZmZlY3QoJy5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCcpO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgQGluY2x1ZGUgZmxvLWRpc2FibGUtZmFkaW5nLWVmZmVjdCgnLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkJyk7XG59XG4vKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi9cblxuLyogU1RBUlQ6IFNJVEUgTUFYIFdJRFRIICovXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAuaHRtbC0tc3R5bGUtZml4ZWQgLmZsby1ibG9jazpub3QoLmZsby1ibG9jay0tZnVsbC13aWR0aCksXG4gIC5odG1sLS1zdHlsZS1maXhlZCAuZmxvLWZvb3RlcntcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICB9XG4gIGh0bWwuaHRtbC0tc3R5bGUtZml4ZWQgLmZsby1mb290ZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4vKiBFTkQ6IFNJVEUgTUFYIFdJRFRIICovXG5cbi8qIFNUQVJUOiBXSURHRVRTICovXG4gIC53aWRnZXR7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApIWltcG9ydGFudDtcbiAgICAuc2VhcmNoLWZvcm17XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMi41KTtcbiAgICAgIC5zY3JlZW4tcmVhZGVyLXRleHQsXG4gICAgICAuc2VhcmNoLXN1Ym1pdHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiAud2lkZ2V0LS1pbWFnZS1saW5rX19idXR0b24ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgfVxuICAgICYud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X2ltYWdlX2xpbmssXG4gICAgJi53aWRnZXRfZmxvX2x2eV93aWRnZXRfc29jaWFsX2xpbmtzLFxuICAgICYud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X2ZlYXR1cmVkX2l0ZW1zLFxuICAgICYud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X3N1YnNjcmliZXtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLndpZGdldF9mbG9fbHZ5X3dpZGdldF9pbWFnZV9saW5rIHtcbiAgICAgIC53aWRnZXQtLWltYWdlLWxpbmtfX2ltYWdle1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLndpZGdldC0taW1hZ2UtbGlua19fdGl0bGV7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICB9XG4gICAgICAud2lkZ2V0LS1pbWFnZS1saW5rX190ZXh0e1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICB9XG4gICAgICAud2lkZ2V0LS1pbWFnZS1saW5rX19idXR0b257XG4gICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDE4KSFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAwIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi53aWRnZXRfZmxvX2x2eV93aWRnZXRfc29jaWFsX2xpbmtzIHtcbiAgICAgIC53aWRnZXQtLXNvY2lhbC1saW5rc19fbWFpbi13cmFwIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzcpIHJlbS1jYWxjKDQzKTtcbiAgICAgIH1cbiAgICAgIC53aWRnZXQtLXNvY2lhbC1saW5rc19fcHJldGl0bGV7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICAgIC53aWRnZXQtLXNvY2lhbC1saW5rc19fdGl0bGV7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53aWRnZXQtLXNvY2lhbC1saW5rc19fd3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI3KTtcbiAgICAgIH1cbiAgICAgICAgLmZsby1zb2NpYWwtbGlua3NfX2xpbmsge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYud2lkZ2V0X2Zsb19sdnlfd2lkZ2V0X2ZlYXR1cmVkX2l0ZW1zIHtcbiAgICAgIC53aWRnZXQtLWZlYXR1cmVkLWl0ZW1zX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzNCk7XG4gICAgICB9XG4gICAgICAud2lkZ2V0LS1mZWF0dXJlZC1pdGVtc19faXRlbXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAud2lkZ2V0LS1mZWF0dXJlZC1pdGVtc19faXRlbS13cmFwe1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAud2lkZ2V0LS1mZWF0dXJlZC1pdGVtc19faXRlbS10aXRsZXtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygzNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC53aWRnZXQtLWZlYXR1cmVkLWl0ZW1zX19pdGVtLWltYWdle1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLndpZGdldF9mbG9fbHZ5X3dpZGdldF9zdWJzY3JpYmUge1xuICAgICAgLndpZGdldF9fZmxvLWZvcm0tLW5ld3NsZXR0ZXJfX21haW4td3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI5KSByZW0tY2FsYyg0NikgcmVtLWNhbGMoNDEpIHJlbS1jYWxjKDQ2KTtcbiAgICAgIH1cbiAgICAgIC53aWRnZXRfX2Zsby1mb3JtLS1uZXdzbGV0dGVyX190aXRsZXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIzKTtcbiAgICAgIH1cbiAgICAgIC53aWRnZXRfX2Zsby1mb3JtLS1uZXdzbGV0dGVyX190ZXh0LXdyYXB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM3LjYpO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZV17XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pe1xuICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKTo6cGxhY2Vob2xkZXJ7XG4gICAgICB9XG4gICAgICAud2lkZ2V0X19mbG8tZm9ybS0tbmV3c2xldHRlcl9fZm9ybS1uYW1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjcpO1xuICAgICAgfVxuICAgICAgLndpZGdldF9fZmxvLWZvcm0tLW5ld3NsZXR0ZXJfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0NikhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgcmVtLWNhbGMoMTUpO1xuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAud2lkZ2V0X3NlYXJjaCB7XG4gICAgZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZTgxNyc7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJmbG8taWNvbnNcIjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYygxOCkhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQkRCREJEIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuLyogRU5EOiBXSURHRVRTICovXG5cbi8qIFNUQVJUOiBaLUlOREVYIE1BUCAqL1xuQGltcG9ydCBcInotaW5kZXgtbWFwLnNjc3NcIjtcbi8qIEVORDogWi1JTkRFWCBNQVAgKi9cblxuYm9keSB7XG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAvLyBoZWlnaHQ6IGF1dG87XG4gIC8vIG1hcmdpbjogMDtcblxuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW47XG59XG5cbi5vdmVyZmxvdy1oaWRle1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG4vKiBFTkQ6IEhUTUwgT1ZFUkZMT1cgRk9SIFNBRkFSSSBGSVggKi9cblxuLyogU1RBUlQ6IEZJWCBST1dTIElOIFNBRkFSSSAqL1xuLnJvdyB7XG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuLyogRU5EOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cblxuLyogU1RBUlQ6IEZPVU5EQVRJT04gUkVXUklURVMgKi9cbiAgYm9keSBhIHtcbiAgICBvdXRsaW5lLXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWF7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cbi8qIEVORDogRk9VTkRBVElPTiBSRVdSSVRFUyAqL1xuXG4vKiBTVEFSVDogQ09OVEFDVCBGT1JNIERST1BET1dOIFNUWUxFUyAqL1xuICAuZmxvLWZvcm17XG4gICAgKiB7XG4gICAgICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBuby1jb21tb24tbGlnYXR1cmVzO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJde1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuLyogRU5EOiBDT05UQUNUIEZPUk0gRFJPUERPV04gU1RZTEVTICovXG4iLCIuZmxvLXBhZ2UtaGFzLXNpZGViYXJfX3NpZGViYXJ7XG4gIHotaW5kZXg6IDk7XG59XG5cbi5mbG8tc2xpZGVyLWFycm93e1xuIHotaW5kZXg6IDk7XG59XG5cbi5mbG8tcGFnZS1oZXJvX19sb2dvIHtcbiAgei1pbmRleDogMTE7XG59XG5cbi5mbG8taGVhZGVye1xuICB6LWluZGV4OiA5OTk5OTk7XG59XG5cbi5mbG8tcGFnZS1hYm91dC10eXBlLWFfX2ZlYXR1cmVkLWluZm97XG4gIHotaW5kZXg6IDk7XG59XG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19uYXZpZ2F0aW9uIHtcbiAgei1pbmRleDogMztcbn1cbiIsIi5jb21tZW50cy1ibG9ja3tcbiAgJGI6IFwiLmNvbW1lbnRzLWJsb2NrXCI7XG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4NSk7XG5cbiAgLmZsby1pY29uLXJlcGx5e1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG5cblxuICAucGFyZW50e1xuICAgIC5jb21tZW50e1xuICAgICAgLmNvbW1lbnQtYm9keXtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cbiAgICAgICYuZGVwdGgtM3tcbiAgICAgICAgLmNvbW1lbnQtYm9keXtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5kZXB0aC00e1xuICAgICAgICAuY29tbWVudC1ib2R5e1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmRlcHRoLTV7XG4gICAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZGVwdGgtNXtcbiAgICAgICAgLmNvbW1lbnQtYm9keXtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDk1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LWJvZHl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIyKSAwO1xuICB9XG5cbiAgLmNvbW1lbnQtbmFtZS1hbmQtcmVwbHl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb21tZW50LWF2YXRhci1hbmQtbmFtZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuZmxvLWxvdmVseTItY29tbWVudHMtYmxvY2tfX3JlcGx5e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSAwO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAuY29tbWVudC1yZXBseS1saW5re1xuLy8gICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXktbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtYmxvY2stY29udGVudHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gIH1cblxuICAuY29tbWVudC1tZXRhe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjQpO1xuICB9XG5cbiAgLmNvbW1lbnQtYXZhdGFye1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICBpbWd7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LXJlc3BvbmR7XG4gICAgLy9wYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pe1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICB9XG5cblxuICAmX190b3AtYmFye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgfVxuXG4gICZfX3Nob3d7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fdG9wLWJhci1oaWRlLWJ1dHRvbntcbiAgICAuZmxvLWljb257XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgfVxuICAmX190b3AtYmFyLXNob3ctYnV0dG9ue1xuICAgIC5mbG8taWNvbntcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvcC1iYXItaGlkZS1idXR0b24sXG4gICZfX3RvcC1iYXItc2hvdy1idXR0b24sXG4gICZfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCB2aXNpYmlsaXR5LCBoZWlnaHQpO1xuICB9XG5cbiAgLy8mX190b3AtYmFyLWhpZGUtYnV0dG9uLXRleHQsXG4gIC8vJl9fdG9wLWJhci1zaG93LWJ1dHRvbi10ZXh0LFxuICAvLyZfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gIC8vICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMi41KTtcbiAgLy99XG5cbiAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgICAmX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsIHtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBjb2xvcik7XG5cbiAgICAgICAgJi0tc2hvdyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1oaWRlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTIuNSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICB9XG5cblxuICAmX19jb2xsYXBzZWR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fcG9zdHN7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odmlzaWJpbGl0eSwgb3BhY2l0eSk7XG4gIH1cblxuICAmLS1leHBhbmRlZHtcbiAgICAjeyRifV9fcG9zdHN7XG4gICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyBvcGFjaXR5OiAxO1xuICAgICAgLy8gdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgI3skYn1fX3RvcC1iYXItc2hvdy1idXR0b257XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci1oaWRlLWJ1dHRvbntcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgICN7JGJ9X190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwge1xuICAgICAgJi0tc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1oaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICYtLWNvbGxhcHNlZHtcbiAgICAjeyRifV9fcG9zdHN7XG4gICAgICAvLyBoZWlnaHQ6IDA7XG4gICAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci1zaG93LWJ1dHRvbntcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICN7JGJ9X190b3AtYmFyLWhpZGUtYnV0dG9ue1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgI3skYn1fX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAmLS1zaG93IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgICYtLWhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICB9XG4gIC8vRm9ybVxuICAmX19wb3N0LWZvcm17XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ0KTtcblxuICAgIC5mb3JtLXN1Ym1pdHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0OCk7XG4gICAgfVxuXG4gICAgLyogU1RBUlQ6IFBBUlNMRVkgKi9cbiAgICAgIC5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAgIC5wYXJzbGV5LXJlcXVpcmVkIHtcbiAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIDA7XG4gICAgICAgIH1cbiAgICAvKiBFTkQ6IFBBUlNMRVkgKi9cblxuICB9XG5cbiAgJl9fZm9ybS10aXRsZS1hcmVhe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZm9ybS10aXRsZXtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzYpO1xuICB9XG5cblxuICAmX19mb3JtLWZpZWxke1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAvL3BhZGRpbmctdG9wOiByZW0tY2FsYygxMik7XG4gICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAuZm9ybS1zdWJtaXR7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXG4gICAgLy9wYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL3BhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcblxuICAgIC5jb21tZW50LWNvbnRlbnR7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICAvLyZfX3Bvc3QtZm9ybXtcbiAgICAvLyAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL31cbiAgICAmX19mb3JtLWZpZWxke1xuICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg5MCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLmNvbW1lbnQtYmxvY2stY29udGVudHtcbiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJl9fZm9ybS1maWVsZHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB9XG4gICAgJl9fcG9zdC1mb3Jte1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG59XG5cbi5jb21tZW50LXJlcGx5LXRpdGxle1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgLmZsby1pY29uLWNsb3Nle1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxufVxuLmNvbW1lbnRzLXBhZ2luYXRpb257XG4gIGgyLnNjcmVlbi1yZWFkZXItdGV4dHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXYtbGlua3N7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5wYWdlLW51bWJlcnN7XG4gICAgJi5wcmV2LCYubmV4dHtcbiAgICAgIC5zY3JlZW4tcmVhZGVyLXRleHR7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYucHJldntcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAmLm5leHR7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2Nre1xuICAkYjogJy5mbG8tYmxvY2snO1xuICAvLyAkZ2FwLXNpZGU6IHJlbS1jYWxjKDIwKTtcblxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgfVxuXG4gICYtLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgJi0tbm90LWZvdW5ke1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgfVxuXG4gICYtLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG47ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICB9XG4gICZfX2NvbnRhaW5lcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICY6YWZ0ZXJ7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG5cbiAgICAmX19jb250YWluZXJ7XG4gICAgICAvLyB3aWR0aDogJGNvbnRlbnQtZGVmYXVsdC13aWR0aDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYtLW5vLXRvcC1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tZnVsbC13aWR0aCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgLy8jeyRifV9fY29udGFpbmVye1xuICAgICAgLy8gIHdpZHRoOiAxMDAlO1xuICAgICAgLy99XG4gICAgfVxuICAgICYtLW1lZGl1bS13aWR0aHtcbiAgICAgICN7JGJ9X19jb250YWluZXJ7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRlbnQtbWVkaXVtLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1oZWFkZXItaGlkZGVuLW9uLWRlc2t0b3Age1xuICAgICAgI3skYn1fX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIDA7XG4gICAgJjpub3QoLmZsby1ibG9jay0tZnVsbC13aWR0aCl7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1mb3Jte1xyXG5cclxuICBpbnB1dFt0eXBlXXtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gICZfX2ZpZWxke1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjMuNSk7XHJcbiAgICAmOmxhc3Qtb2YtdHlwZXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xyXG4gICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcclxuICAgfVxyXG59XHJcblxyXG4uZmxvLW1vZGFse1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogOTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgLnRoeC1tc2cge1xyXG4gICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTgwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTE3MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTVlNWU1O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGFjdC1yZXNwb25zZSB7XHJcbiAgcCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMi41KTtcclxuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAkY29sb3ItZ3JheTtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcclxuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrO1xyXG4gIH1cclxufVxyXG4iLCIqW2RhdGEtbHFpcC1zcmNdXG57XG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGZpbHRlciwgYmFja2dyb3VuZC1pbWFnZSk7XG4gIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLy8gd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgJjpub3QoLmZsby1scWlwLS1vcmlnaW5hbC1sb2FkZWQpIHtcbiAgICBmaWx0ZXI6IGJsdXIoNDBweCk7XG4gICAgLy8gb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiLmZsby1wYWdlLWhlYWR7XG4gICRiOiAnLmZsby1wYWdlLWhlYWQnO1xuICAkZ2FwLXNpZGU6IHJlbS1jYWxjKDQwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ2FwLXNpZGUqMn0pO1xuICBtYXJnaW46IDAgYXV0bztcblxuICAmLS13aXRoLWJvcmRlcntcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQ7XG4gIH1cblxuICAmX19kcm9wZG93bntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAuZmxvLWRyb3Bkb3duLW1lbnV7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi0taGFzLWRyb3Bkb3duLW1lbnV7XG4gICAgI3skYn1fX2Ryb3Bkb3due1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAmX19kZWNvcmF0aW9uLWltYWdle1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDg4LjgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgfVxuICAmX190aXRsZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXG4gICAgJl9fdGl0bGV7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDMpIDA7XG4gICAgfVxuXG4gICAgJl9fbGVmdC1zaWRle1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gICAgJl9fZHJvcGRvd257XG4gICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgICAuZmxvLWRyb3Bkb3duLW1lbnVfX2J0bntcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAkZ2FwLXNpZGU6IHJlbS1jYWxjKDMwKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdhcC1zaWRlKjJ9KTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDMpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblxuICAgIC5mbG8tZHJvcGRvd24tbWVudV9fYnRue1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjMpIDAgcmVtLWNhbGMoNDMpO1xuICAgIH1cbiAgfVxuXG5cbn1cbiIsIi5mbG8tc2hhcmUtcm9sbG92ZXIge1xuICAkYjogXCIuZmxvLXNoYXJlLXJvbGxvdmVyXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICZfX3RyaWdnZXIge1xuICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIH1cblxuICAmX19zaGFyZS13cmFwIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhIHtcbiAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg3KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgIH1cbiAgfVxuICAmLnZpc2libGUge1xuICAgICN7JGJ9X190cmlnZ2VyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgI3skYn1fX3NoYXJlLXdyYXAge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmX190cmlnZ2VyIHtcblxuICAgIH1cblxuICAgICZfX3NoYXJlLXdyYXAge1xuXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX190cmlnZ2VyIHtcblxuICAgIH1cblxuICAgICZfX3NoYXJlLXdyYXAge1xuXG4gICAgfVxuICB9XG59XG4iLCIvL1NsaWNrIFNsaWRlciByZXNldCBkZWZhdWx0IHN0eWxlc1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgLnNsaWNrLXRyYWNrLFxuICAuc2xpY2stbGlzdCxcbiAgLnNsaWNrLXNsaWRlLFxuICBhe1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG4uc2xpY2stYXJyb3d7XG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4iLCIuZmxvLXZpZGVvLWVtYmVkLWR1bW15IHtcbiAgJGI6IFwiLmZsby12aWRlby1lbWJlZC1kdW1teVwiO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXG4gICZfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgJHNpemU6IHJlbS1jYWxjKDcwKTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIHRvcCwgb3BhY2l0eSwgYm9yZGVyLCB0cmFuc2Zvcm0pO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuICB9XG4gICAgJl9fdmlkZW8tYnV0dG9uLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAmLS1wbGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICZfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAkc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgZm9udC1zaXplOiAkc2l6ZSAvIDEuNjEgLyAxLjYxIC8gMS42MTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tdmlkZW8tZW1iZWQge1xuICAkYjogXCIuZmxvLXZpZGVvLWVtYmVkXCI7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZfX3NjcmVlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCVcbiAgICB9XG4gIH1cblxuXG4gICZfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgJHNpemU6IHJlbS1jYWxjKDcwKTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG5cbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgdG9wLCBvcGFjaXR5LCBib3JkZXIsIHRyYW5zZm9ybSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG4gIH1cbiAgICAmX192aWRlby1idXR0b24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICYtLXBsYXkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJi0tc3RvcCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICRsb2FkZWRfbW9kaWZpY2F0b3I6IFwiLS1sb2FkZWRcIjtcblxuICAvLyBTdGFydDogVmlkZW8gTm90IFBsYXlpbmcgU3RhdGVcbiAgICAmOm5vdCgmI3skbG9hZGVkX21vZGlmaWNhdG9yfSkge1xuICAgICAgI3skYn1fX3NjcmVlbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgfVxuICAgICAgICAjeyRifV9fdmlkZW8tYnV0dG9uLWljb24tLXBsYXkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gIC8vIEVuZDogVmlkZW8gTm90IFBsYXlpbmcgU3RhdGVcblxuICAvLyBTdGFydDogVmlkZW8gUGxheWluZyBTdGF0ZVxuICAgICYjeyRsb2FkZWRfbW9kaWZpY2F0b3J9IHtcbiAgICAgICN7JGJ9X19zY3JlZW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIH1cbiAgICAgICN7JGJ9X192aWRlby1idXR0b24ge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X192aWRlby1idXR0b24taWNvbi0tc3RvcCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICN7JGJ9X192aWRlby1idXR0b24ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIC8vIEVuZDogVmlkZW8gUGxheWluZyBTdGF0ZVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgJl9fdmlkZW8tYnV0dG9uIHtcbiAgICAgICRzaXplOiByZW0tY2FsYyg2NCk7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1zb2NpYWwtbGlua3Mge1xuICAkYjogXCIuZmxvLXNvY2lhbC1saW5rc1wiO1xuXG4gIEBhdC1yb290IHtcbiAgICAuZmxvLXNvY2lhbC1saW5rcy10eXBlLWEge1xuICAgICAgI3skYn1fX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIHtcbiAgICAgICN7JGJ9X19saW5rOmJlZm9yZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5mbG8tYmxvY2stYnV0dG9uIHtcbiAgJGI6IFwiLmZsby1ibG9jay1idXR0b25cIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgcmVtLWNhbGMoMzMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLGJhY2tncm91bmQtY29sb3IpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19idXR0b24ge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xXCI7XG5cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gIEBpbmNsdWRlIGZsby1yZXNwb25zaXZlLWltYWdlLWJnKFwiLmZsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci0xX19pbWFnZS13cmFwXCIpO1xuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgICAmX19jYXRlZ29yaWVzLXdyYXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNzgpO1xuICAgIH1cbiAgICAgICZfX2xpbmtzLXRpdGxlIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAmX19saW5rcy1kaXZpZGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAmX19saW5rcy1saXN0IHtcbiAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg0MSkgMCByZW0tY2FsYyg0MSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDQyLjgyJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcmllcy13cmFwIHtcblxuICAgICAgICAmLS13aXRoLWltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgICAgICAgYm90dG9tOiByZW0tY2FsYyg0MSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoODEpfSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uby1pbWFnZSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIzKSAwIHJlbS1jYWxjKDIzKSByZW0tY2FsYygzMyk7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmtzLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rcy1kaXZpZGVyIHtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg0MSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xpbmtzLWxpc3Qge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmI3skYn1fX2ltYWdlLWhpZGRlbi1tb2JpbGV7XG4gICAgICAjeyRifV9faW1hZ2Utd3JhcHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19jYXRlZ29yaWVzLXdyYXB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICAgIG1hcmdpbjogMCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcmllcy13cmFwIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICYtLXdpdGgtaW1hZ2Uge1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTM5KTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsICogMn0pO1xuICAgICAgICB9XG4gICAgICAgICYjeyRifV9fbGF5b3V0LS1kcm9wZG93biB7XG4gICAgICAgICAgI3skYn1fX2xpbmtzLWRpdmlkZXJ7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2xpbmtzLWxpc3Qge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgICN7JGJ9X19saW5rcy1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19saW5rcy1saXN0IHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLW5vLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAgICZfX2xpbmtzLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rcy1kaXZpZGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjApIDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGlua3MtbGlzdCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1jb21tZW50cyB7XG4gICRiOiBcIi5mbG8tYmxvY2stY29tbWVudHNcIjtcblxuICAmX19saXN0LXdyYXAge1xuXG4gIH1cbiAgICAmX190aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fbGlzdCB7XG5cbiAgICB9XG4gICAgICAmX19jb21tZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzcpO1xuICAgICAgfVxuICAgICAgICAmX19jb21tZW50LWxlZnQtd3JhcCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2NvbW1lbnQtYXZhdGFyIHtcbiAgICAgICAgICAgICRzaXplOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWRhdGUge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAmX19jb21tZW50LWNvbnRlbnQge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LXRleHQge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICB9XG5cbiAgJl9fZm9ybS13cmFwIHtcblxuICB9XG4gICAgJl9fZm9ybS10aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fZm9ybSB7XG4gICAgfVxuICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odG9wLCB0cmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgICAmX19mb3JtIC5zdWJtaXQge1xuICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAvLyBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsIHJlbS1jYWxjKDIyMSk7XG4gICAgLy8gcGFkZGluZzogJGdsb2JhbFxuXG4gICAgJl9fbGlzdC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICB3aWR0aDogMjIuNjIlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgICZfX2xpc3Qge1xuICAgICAgICB3aWR0aDogNzcuMzglO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4Nyk7XG4gICAgICB9XG4gICAgICAgICZfX2NvbW1lbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgfVxuICAgICAgICAgIC5jb21tZW50IC5jb21tZW50ICZfX2NvbW1lbnQge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTIpIHJlbS1jYWxjKDM4KTtcblxuICAgICAgICAgICAgI3skYn1fX2NvbW1lbnQtZGF0ZSB7XG4gICAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtYXZhdGFyIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1kYXRlIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fY29tbWVudC1jb250ZW50IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtdGV4dCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtcmVwbHkge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWFsZXJ0IHtcblxuICAgICAgICAgICAgfVxuXG4gICAgJl9fZm9ybS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICAgJl9fZm9ybS10aXRsZSB7XG4gICAgICAgIHdpZHRoOiAyMi42MiU7XG4gICAgICB9XG4gICAgICAuY29tbWVudC1yZXNwb25kIHtcbiAgICAgICAgd2lkdGg6IDc3LjM4JTtcbiAgICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXBcbiAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICAkZ2FwOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgICAgICAgLy8gJGdhcDogcmVtLWNhbGMoNDcuMzgpO1xuICAgICAgICAgICRnYXBfcGVyX2l0ZW06ICRnYXAgKiAzIC8gMjtcbiAgICAgICAgICAkc21hbGwtd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAjeyRnYXB9KTtcblxuICAgICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgd2lkdGg6ICRzbWFsbC13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMzLjYzKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDMpKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcF9wZXJfaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS1iaWcge1xuICAgICAgICAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygjeyRzbWFsbC13aWR0aCAqIDJ9ICsgI3skZ2FwfSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMxLjUzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLWZpZWxkIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19saXN0IC5jb21tZW50LXJlc3BvbmQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgICAgICAgI3skYn1fX2Zvcm0tZmllbGQtd3JhcCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCkhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRifV9fZm9ybS1maWVsZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgJi0tc21hbGwsXG4gICAgICAgICAgICAgICAgJi0tYmlnIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLWZpZWxkLWxhYmVsIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmX19mb3JtIC5zdWJtaXQge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2xpc3Qtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpc3Qge1xuXG4gICAgICB9XG4gICAgICAgIC5jb21tZW50IC5jb21tZW50ICN7JGJ9X19jb21tZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2NvbW1lbnQge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hdmF0YXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWF1dGhvciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2NvbW1lbnQtY29udGVudCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRleHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG5cbiAgICB9XG4gICAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX19mb3JtIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MSkhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS1maWVsZCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS1maWVsZC1sYWJlbCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICZfX2Zvcm0gLnN1Ym1pdCB7XG5cbiAgICAgICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xXCIpO1xuQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fY29udGFjdC1kZXNjcmlwdGlvblwiKTtcblxuLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMVwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG5cbiAgLmZsby1mb3JtIHtcblxuICAgIGxhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgpO1xuICAgIH1cblxuICAgIGlucHV0LCBsYWJlbCwgdGV4dGFyZWEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAmX19jb250YWN0LWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgICAmX19pbWFnZS1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgIH1cbiAgICAgICZfX3Njcm9sbC1kb3duLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtZG93biB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgfVxuXG4gICAgJl9fcmlnaHQtc2lkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fc29jaWFsLWxpbmtzLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19zb2NpYWwtbGlua3MtcHJldGl0bGUge1xuICAgICAgICB9XG4gICAgICAgICZfX3NvY2lhbC1saW5rcy10aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICZfX2xvY2F0aW9uLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19sb2NhdGlvbi1wcmV0aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbG9jYXRpb24tdGl0bGUge1xuICAgICAgICB9XG4gICAgICAgICZfX2xvY2F0aW9uIHtcbiAgICAgICAgfVxuXG4gICZfX2Zvcm0td3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcblxuICAgICAgJi0tY3VzdG9tIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJiAuc3VibWl0LXJvdyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmIC5mbG8tc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzkpO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyMyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDIpO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksdGV4dGFyZWEge1xuICAgICAgICAgIGJvcmRlci10b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5lcnJvciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgY29sb3I6IHJlZCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAmX19mb3JtLXN1YnRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAmX19maWVsZHMtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgJl9fZm9ybS1maWVsZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI5KSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICAgIH1cbiAgICAgICAgJiB0ZXh0YXJlYSB7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzOSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICZfX2Rlc2t0b3Atd3JhcHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICZfX21vYmlsZS13cmFwe1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJl9fY29udGFjdC1kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICsgJGdjdyAvIDI7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gICAgJjpub3QoLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTEtLW5vLXNjcm9sbC1lZmZlY3Qpe1xuICAgICAgI3skYn1fX2NvbnRhY3QtZGVzY3JpcHRpb24ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICYuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS0tbm8tc2Nyb2xsLWVmZmVjdCB7XG4gICAgICAjeyRifV9fZm9ybS13cmFwe1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ltYWdlLW92ZXJsYXkge1xuICAgICAgfVxuXG4gICAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICB9XG5cbiAgICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2N3IC8gMjtcblxuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtZG93bi13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogJGdjdyAvIDI7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19hcnJvdy1kb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Njcm9sbC1kb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbF9jbGlja2FibGU7XG4gICAgICAgICAgfVxuXG4gICAgICAmX19yaWdodC1zaWRlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgICAgICZfX3NvY2lhbC1saW5rcy13cmFwIHtcblxuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fc29jaWFsLWxpbmtzLXByZXRpdGxlIHtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3NvY2lhbC1saW5rcy10aXRsZSB7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3NvY2lhbC1saW5rcyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICZfX2xvY2F0aW9uLXdyYXAge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbG9jYXRpb24tcHJldGl0bGUge1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xvY2F0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbG9jYXRpb24ge1xuICAgICAgICAgIH1cbiAgICAmX19mb3JtLXdyYXAge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWFyZ2luLXRvcDogMTAwdmg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAucHNfX3JhaWwteCxcbiAgICAgIC5wc19fcmFpbC15IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19mb3JtLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg3MikgcmVtLWNhbGMoMzAyKSByZW0tY2FsYyg4MCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgICAgJl9fZm9ybS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19mb3JtLXN1YnRpdGxlIHtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZpZWxkcy13cmFwIHtcblxuICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDUpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZm9ybS1maWVsZCB7XG4gICAgICAgICAgJGdhcDogcmVtLWNhbGMoNDQpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJi0taGFsZi13aWR0aCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyRnYXAgLyAyfSk7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICB9XG5cbiAgICAmLS1uby1zY3JvbGwtZWZmZWN0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAjeyRifV9fZm9ybS13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICZfX2NvbnRhY3QtZGVzY3JpcHRpb24ge1xuICAgICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMjApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAmX19oZWFkZXItYXJlYXtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICZfX2Rlc2t0b3Atd3JhcHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICZfX21vYmlsZS13cmFwe1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtaW4taGVpZ2h0OiA4NXZoO1xuICAgICAgI3skYn1fX3JpZ2h0LXNpZGUge1xuICAgICAgICAjeyRifV9fc29jaWFsLWxpbmtzLXdyYXAsXG4gICAgICAgICN7JGJ9X19sb2NhdGlvbi13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2xvY2F0aW9uLXdyYXAge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fc2Nyb2xsLWRvd24td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X19sZWZ0LXNpZGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICN7JGJ9X190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRhY3QtZGVzY3JpcHRpb24ge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgICAmX19pbWFnZS1vdmVybGF5IHtcbiAgICAgIH1cblxuICAgICAgJl9fbGVmdC1zaWRlIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2Nyb2xsLWRvd24td3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19zY3JvbGwtZG93biB7XG4gICAgICAgICAgfVxuXG4gICAgICAmX19yaWdodC1zaWRlIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX19zb2NpYWwtbGlua3Mtd3JhcCB7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICAgJl9fc29jaWFsLWxpbmtzLXByZXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zb2NpYWwtbGlua3MtdGl0bGUge1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zb2NpYWwtbGlua3Mge1xuXG4gICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgJl9fbG9jYXRpb24td3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19sb2NhdGlvbi1wcmV0aXRsZSB7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xvY2F0aW9uLXRpdGxlIHtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xvY2F0aW9uIHtcbiAgICAgICAgICB9XG5cbiAgICAmX19mb3JtLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDIwKTtcblxuICAgICAgfVxuICAgICAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Zvcm0tc3VidGl0bGUge1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmllbGRzLXdyYXAge1xuXG4gICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0NSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAjeyRifV9fZm9ybS13cmFwIC5mbG8tZm9ybSAuZmllbGQtcm93IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gIC5mbG8tZm9ybSB7XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcbiAgICB9XG5cbiAgICBpbnB1dCwgbGFiZWwsIHRleHRhcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19mb3JtLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAgICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICAmLS1jdXN0b20ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJiAuc3VibWl0LXJvdyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmIC5mbG8tc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzkpO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyMyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSx0ZXh0YXJlYSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmVycm9yIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2Zvcm0tdGl0bGUge1xuICAgICAgfVxuXG4gICAgICAmX19mb3JtLXN1YnRpdGxlIHtcbiAgICAgIH1cblxuICAgICAgJl9fZmllbGRzLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG5cbiAgICAgICZfX2Zvcm0tZmllbGQge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI5KSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICAgIH1cbiAgICAgICAgJiB0ZXh0YXJlYSB7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzOSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJl9fZm9ybS13cmFwIHtcbiAgICB9XG4gICAgICAmX19mb3JtLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwKSByZW0tY2FsYygzMDIpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgICAgICZfX2Zvcm0tdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZm9ybS1zdWJ0aXRsZSB7XG4gICAgICAgIH1cblxuICAgICAgICAmX19maWVsZHMtd3JhcCB7XG5cbiAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgICRnYXA6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICYtLWhhbGYtd2lkdGgge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2FwIC8gMn0pO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgfVxuXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX19mb3JtLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDIwKTtcblxuICAgICAgfVxuICAgICAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Zvcm0tc3VidGl0bGUge1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmllbGRzLXdyYXAge1xuXG4gICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0NSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLy8gRmxvIEZvcm1zXG4gICAgICAgICN7JGJ9X19mb3JtLXdyYXAgLmZsby1mb3JtIC5maWVsZC1yb3cge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmFxLWJsb2NrLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWZhcS1ibG9jay0xXCI7XG5cbiAgJl9fdGl0bGUtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICAmX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICAmX19mYXEtd3JhcCB7XG4gIH1cbiAgICAmX19zaW5nbGUtcWEge1xuICAgICAgLyotQWRkIGJvdHRvbSBtYXJnaW4gdG8gYWxsIGNoaWxkcmVuIGV4Y2VwdCBmb3IgdGhlIGxhc3QgMi0qL1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xuICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSxcbiAgICAgICY6bnRoLWxhc3QtY2hpbGQoMil7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fcXVlc3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgICZfX2Fuc3dlciB7XG4gICAgICAgICYgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgIH1cbiAgICAmX19mYXEtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG4gICAgfVxuICAgICAgJl9fc2luZ2xlLXFhIHtcbiAgICAgICAgJGhhbGZfY29sdW1uOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhhbGZfY29sdW1uO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRoYWxmX2NvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgfVxuICAgICZfX2RpdmlkZXIge1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgIH1cbiAgICAmX19mYXEtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fc2luZ2xlLXFhIHtcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSxcbiAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgyKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fcXVlc3Rpb24ge1xuICAgICAgICB9XG4gICAgICAgICZfX2Fuc3dlciB7XG4gICAgICAgIH1cbiAgICAmX19kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2stZmFxLWJsb2NrLTJcIik7XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLWZhcS1ibG9jay0yXCI7XG5cbiAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAmX19mYXEtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiFpbXBvcnRhbnQ7XG4gICAgJiAuc2xpY2stbGlzdCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgICAmX19mYXEtc2xpZGUge1xuICAgIH1cbiAgICAgICZfX2ZhcS1zbGlkZS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fcXVlc3Rpb24ge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19hbnN3ZXIge1xuXG4gICAgICAgICAgICAmIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgJl9fbmF2aWdhdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2ZhcS1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAgICZfX2N1cnJlbnQtaXRlbS1udW1iZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG4gICAgJl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDMpIDA7XG4gICAgfVxuICAgICZfX3RvdGFsLWl0ZW0tbnVtYmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICZfX2Fycm93IHtcblxuICAgICAgJi0tbGVmdCB7XG4gICAgICB9XG4gICAgICAmLS1yaWdodCB7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4Nyk7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDExNik7XG4gICAgfVxuICAgICZfX2ZhcS1zbGlkZXIge1xuICAgIH1cbiAgICAgICZfX2ZhcS1zbGlkZSB7XG4gICAgICB9XG4gICAgICAgICZfX2ZhcS1zbGlkZS1jb250ZW50IHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3F1ZXN0aW9ucy13cmFwIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU0OSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEzOSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fc2luZ2xlLXFhIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gNDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19hbnN3ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICZfX25hdmlnYXRpb24ge1xuXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNTEpO1xuXG4gICAgICAmLS1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgIH1cbiAgICAmX19mYXEtY291bnRlciB7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTQwKTtcbiAgICB9XG4gICAgICAmX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICAgIH1cbiAgICAgICZfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4MCk7XG4gICAgICB9XG4gICAgICAmX190b3RhbC1pdGVtLW51bWJlciB7XG4gICAgICB9XG5cblxuICAgICZfX2Fycm93IHtcblxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcblxuICAgICAgJi0tbGVmdCB7XG4gICAgICB9XG4gICAgICAmLS1yaWdodCB7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4gICAgJl9faW1hZ2Utb3ZlcmxheSB7XG5cbiAgICAgICYtLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG5cbiAgICAmX19mYXEtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gICAgICAmX19mYXEtc2xpZGUge1xuICAgICAgfVxuICAgICAgJl9fZmFxLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2Fuc3dlciB7XG4gICAgICAgIH1cblxuICAgICZfX25hdmlnYXRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX2ZhcS1jb3VudGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgICAgJl9fY3VycmVudC1pdGVtLW51bWJlciB7XG4gICAgICB9XG4gICAgICAmX19udW1iZXItZGl2aWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgJl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgICAgfVxuXG4gICAgJl9fYXJyb3cge1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICYtLWxlZnQge1xuICAgICAgfVxuICAgICAgJi0tcmlnaHQge1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzIHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rc1wiO1xuXG4gICZfX3RpdGxlLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICZfX2ZlYXR1cmVkLWxpbmtzLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICAgJl9fZmVhdHVyZWQtbGluayB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NSk7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLS12ZXJ0aWNhbCAkZ2N3O1xuXG4gICAgJl9fdGl0bGUtd3JhcCB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgJl9fZmVhdHVyZWQtbGlua3Mtd3JhcCB7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAjeyRifV9fZmVhdHVyZWQtbGluayB7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmsge1xuICAgICAgICAkY29sdW1uczogdmFyKC0tbnVtYmVyLW9mLWNvbHVtbnMpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skY29sdW1uc30pO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAmX19mZWF0dXJlZC1saW5rcy13cmFwIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtbGluayB7XG4gICAgICB9XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFcIjtcblxuICAmLS10aXRsZS1hcmVhLXBvc2l0aW9uLWJlbG93IHtcbiAgICAjeyRifV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cbiAgICAgICN7JGJ9X190aXRsZS1hcmVhIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gIH1cblxuICAmX19wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICB9XG4gICZfX2hlYWRlci1hcmVhIHtcblxuICB9XG4gICZfX3RpdGxlLWFyZWEge1xuXG4gIH1cbiAgICAmX19iYWNrLWJ1dHRvbi13cmFwIHtcblxuICAgIH1cbiAgICAgICZfX2JhY2stYnV0dG9uIHtcblxuICAgICAgfVxuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB9XG4gICAgJl9fY291bnRlci13cmFwIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAgICZfX2NvdW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fY291bnRlci1pbmRleCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19jb3VudGVyLXNlcGFyYXRvciB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG4gICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19jb3VudGVyLWNvdW50IHtcblxuICAgICAgICB9XG4gICZfX2ltYWdlcy13cmFwIHtcbiAgfVxuICAgICZfX2ltYWdlcyB7XG5cbiAgICB9XG4gICAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG5cbiAgICAgICAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgICRzaXplOiA0NXB4O1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuXG4gICAgICBpIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLS1wcmV2IHtcblxuICAgICAgICBpOmJlZm9yZSB7XG5cbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4zZW07XG5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1uZXh0IHtcblxuICAgICAgICBpOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC4zZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19hcnJvdy1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQ1cHg7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICYtLXRpdGxlLWFyZWEtcG9zaXRpb24tYmVsb3cge1xuXG4gICAgICAjeyRifV9fdGl0bGUtYXJlYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXN0dWNrLXRvLXRvcC1kaXNhYmxlZCB7XG4gICAgICAjeyRifV9fcGxhY2Vob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICN7JGJ9X19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICB9XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgICAmX19iYWNrLWJ1dHRvbi13cmFwIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH1cbiAgICAgICAgJl9fYmFjay1idXR0b24ge1xuXG4gICAgICAgIH1cbiAgICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgfVxuICAgICAgJl9fY291bnRlci13cmFwIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgICAgICZfX2NvdW50ZXIge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb3VudGVyLWluZGV4IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb3VudGVyLXNlcGFyYXRvciB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY291bnRlci1jb3VudCB7XG5cbiAgICAgICAgICB9XG4gICAgJl9faW1hZ2VzLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX2ltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAmX19hcnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgfVxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICByaWdodDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICZfX2hlYWRlci1hcmVhIHtcblxuICAgIH1cbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19iYWNrLWJ1dHRvbi13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX19iYWNrLWJ1dHRvbiB7XG5cbiAgICAgICAgfVxuICAgICAgJl9fdGl0bGUtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2NvdW50ZXItd3JhcCB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgICAmX19jb3VudGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2NvdW50ZXItaW5kZXgge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NvdW50ZXItc2VwYXJhdG9yIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb3VudGVyLWNvdW50IHtcblxuICAgICAgICAgIH1cbiAgICAmX19pbWFnZXMtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9faW1hZ2VzIHtcblxuICAgICAgfVxuICAgICAgICAmX19pbWFnZS13cmFwIHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgbGVmdDogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgfVxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICByaWdodDogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMlwiO1xuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAmLmxhenkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbiAgICAmX19pbWFnZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGh1bWIge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGh1bWIge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zXCI7XG4gICZfX2ltYWdlcyB7XG5cbiAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgJl9fdGV4dC1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3Myk7XG4gICAgfVxuICAgICZfX3NoYXJlIHtcbiAgICB9XG4gICAgICAmX19zaGFyZS1sYWJlbCB7XG4gICAgICB9XG4gICAgICAmX19zaGFyZS1zZXBhcmF0b3Ige1xuICAgICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICAmX19zY3JvbGwtYnV0dG9uIHtcbiAgICAgIGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3Njcm9sbC1idXR0b24tbGFiZWwge1xuXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwMCk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYyg0MDIuNSl9KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICZfX2ltYWdlcyB7XG4gICAgICB3aWR0aDogNTguNCU7XG4gICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIHdpZHRoOiA0MS42JTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSAkZ2N3IC8gMjtcbiAgICAgICYuaXNfc3R1Y2tcbiAgICAgIHtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgICAgICYuaXNfc3R1Y2tbc3R5bGUqPVwiYWJzb2x1dGVcIl0ge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2NvbnRlbnQge1xuICAgICAgfVxuICAgICAgJl9fc2hhcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcxKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMikgMDtcbiAgICAgIH1cbiAgICAgICAgJl9fc2hhcmUtbGFiZWwge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGdjdyAvIDI7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2hhcmUtc2VwYXJhdG9yIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGF1dG87XG4gICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2N3IC8gMjtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg3KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICZfX3Njcm9sbC1idXR0b24ge1xuXG4gICAgICB9XG4gICAgICAgICZfX3Njcm9sbC1idXR0b24tbGFiZWwge1xuICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIC8vIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJl9faW1hZ2VzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG4gICAgICB9XG4gICAgICAmX19zaGFyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fc2hhcmUtbGFiZWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgICAgICZfX3NoYXJlLXNlcGFyYXRvciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgIH1cbiAgICAgICZfX3Njcm9sbC1idXR0b24ge1xuICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgfVxuICB9XG5cbn1cbiIsIi5mbG8tYmxvY2staG9yaXpvbnRhbC1kaXZpZGVyIHtcbiAgJGI6IFwiLmZsby1ibG9jay1ob3Jpem9udGFsLWRpdmlkZXJcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgJl9fbGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fbGluZSB7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg2MCk7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fbGluZSB7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMSB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMVwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICAmX19pbWFnZS13cmFwIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9faW1hZ2Uge1xuICAgIH1cbiAgJl9fdGV4dC1hcmVhIHtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgICYgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9uLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KSByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDApIHJlbS1jYWxjKDQ0KTtcbiAgICAmLS1sZWZ0LWFsaWduZWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgJiAjeyRifV9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0NSk7XG4gICAgICB9XG4gICAgICAmICN7JGJ9X19pbWFnZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0LWFsaWduZWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAmICN7JGJ9X190ZXh0LWFyZWEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICB9XG4gICAgICAmICN7JGJ9X19pbWFnZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcyKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwOCk7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYtLWxlZnQtYWxpZ25lZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgJiAjeyRifV9faW1hZ2Utd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tcmlnaHQtYWxpZ25lZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAmICN7JGJ9X19pbWFnZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJcIik7XG5AaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWJnLXdyYXBcIik7XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gICZfX3RleHQtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICAgJl9fcHJldGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fdmVydGljYWwtbGluZSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDI1KSAwO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgJiBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19idXR0b24td3JhcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcixib3JkZXItY29sb3IsYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYyg5MCk7XG4gICAgJi0tdGV4dC1hcmVhLW9uLXRoZS1sZWZ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLS10ZXh0LWFyZWEtaW4tdGhlLWNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS10ZXh0LWFyZWEtb24tdGhlLXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSByZW0tY2FsYyg0NSk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNDA1KTtcbiAgICB9XG4gICAgJl9fbW9iaWxlLWJnLXdyYXAsXG4gICAgJl9fbW9iaWxlLWltZy13cmFwLHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICAgJl9fcHJldGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdmVydGljYWwtbGluZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgfVxuICAgICAgJl9fYnV0dG9uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMSk7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIH1cblxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgJiN7JGJ9X19tb2JpbGUtdGV4dC10b3AsXG4gICAgJiN7JGJ9X19tb2JpbGUtdGV4dC1ib3R0b20ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAjeyRifV9fbW9iaWxlLWltZy13cmFwe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICAgICYjeyRifV9fbW9iaWxlLXRleHQtdG9we1xuICAgICAgI3skYn1fX3RleHQtYXJlYXtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgfVxuICAgICAgI3skYn1fX21vYmlsZS1pbWctd3JhcHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LWJvdHRvbXtcbiAgICAgICN7JGJ9X19tb2JpbGUtaW1nLXdyYXB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fbW9iaWxlLWJnLXdyYXAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAgICZfX3ByZXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdmVydGljYWwtbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgfVxuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKXtcbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LXRvcCxcbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LWJvdHRvbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAjeyRifV9fbW9iaWxlLWltZy13cmFwe1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTFcIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICAmX19saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19saW5rLWltYWdlLXdyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICAgJl9fbGluay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICZfX2xpbmstZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI3KTtcbiAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgJi0taGFzLTEtaW1hZ2Uge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICYtLWhhcy0yLWltYWdlcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG4gICAgJi0taGFzLTMtaW1hZ2VzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzQ3KTtcbiAgICAgICYtLWhhcy11cmwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICN7JGJ9X19saW5rLWltYWdlIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgI3skYn1fX2xpbmstaW1hZ2Uge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMTYpO1xuICAgICAgfVxuXG4gICAgfVxuICAgICAgJl9fbGluay1pbWFnZS13cmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMTcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAmX19saW5rLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgICAgJl9fbGluay10aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluay1zdWJ0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICZfX2xpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgICB9XG4gICAgICAmLS1oYXMtdXJsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjE3KTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19saW5rLWltYWdlLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbGluay10aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pbWFnZS1saW5rcy0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbWFnZS1saW5rcy0yXCI7XG5cbiAgJl9fbGlua3Mtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9faW1hZ2VcIik7XG4gICAgICAgICZfX2ltYWdlLWNvbnRlbnQge1xuICAgICAgICAgICRnYXA6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ2FwICogMn0pO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skZ2FwICogMn0pO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6ICRnYXA7XG4gICAgICAgICAgbGVmdDogJGdhcDtcblxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOClcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgJl9fbGlua3Mtd3JhcCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICAgJl9faW1hZ2UtbGluayB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICN7JGJ9X19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZS1jb250ZW50IHtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9fbGlua3Mtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlLWNvbnRlbnQge1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgIH1cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTNcIjtcblxuICAmX19pbWFnZS1saW5rcy1zbGlkZXIge1xuICB9XG4gICAgJl9faW1hZ2UtbGlua3Mtc2xpZGUge1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmtzLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fZWxlbWVudHMtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvbnRhaW47XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNTMpIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19uYXZpZ2F0aW9uLXdyYXAge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAmLS1oaWRlLWFycm93cyB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgI3skYn1fX2Fycm93IHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9faW1hZ2UtbGlua3MtY291bnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fdG90YWwtaXRlbXMtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGZsby1yZXNwb25zaXZlLWltYWdlLWJnKFwiLmZsby1ibG9jay1pbWFnZS1saW5rcy0zX19pbWFnZVwiKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX2ltYWdlLWxpbmtzLXNsaWRlciB7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtbGlua3Mtc2xpZGUge1xuICAgICAgfVxuICAgICAgICAmX19pbWFnZS1saW5rcy1zbGlkZS1jb250ZW50IHtcblxuICAgICAgICAgICYtLXRpdGxlLWFyZWEtbGVmdCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgICAjeyRifV9faW1hZ2Uge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLS10aXRsZS1hcmVhLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAgICAgI3skYn1fX2ltYWdlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19lbGVtZW50cy13cmFwIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX25hdmlnYXRpb24td3JhcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAje3JlbS1jYWxjKC0yMCl9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmX19pbWFnZS1saW5rcy1jb3VudGVyIHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3RvdGFsLWl0ZW1zLW51bWJlciB7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjAwIC0gMzApO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MjcpO1xuICAgICAgICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX19pbWFnZS1saW5rcy1zbGlkZXIge1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmtzLXNsaWRlIHtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2UtbGlua3Mtc2xpZGUtY29udGVudCB7XG5cbiAgICAgICAgICAmLS10aXRsZS1hcmVhLWxlZnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLXRpdGxlLWFyZWEtcmlnaHQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgICAgICAgICAjeyRifV9fdGl0bGUtYXJlYSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19lbGVtZW50cy13cmFwIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX25hdmlnYXRpb24td3JhcCB7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9faW1hZ2UtbGlua3MtY291bnRlciB7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJl9fY3VycmVudC1pdGVtLW51bWJlciB7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmX19udW1iZXItZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmX190b3RhbC1pdGVtcy1udW1iZXIge1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICAgIH1cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWludHJvLWJsb2NrIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbmZvLWJsb2NrXCI7XG5cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwXCIpO1xuICAgICZfX2ltYWdlLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cblxuICAgICZfX2ltYWdlLXdyYXAge1xuICAgIH1cblxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gNjEuODhyZW0pIC8gMik7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDQ5NSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzcpXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0NSk7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0NTApO1xuICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgfVxuXG4gICAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGhlYWRlcjpub3QoLmlzLXN0aWNreSkge1xuICAgICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgIH1cblxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAmX190aXRsZS1hcmVhe1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTMpIHJlbS1jYWxjKDEwMCk7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIGh0bWw6bm90KC5odG1sLS1zdHlsZS1maXhlZCkgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgfVxufVxuIiwiLmZsby1ibG9jay1pdGVtLWNhdGVnb3JpZXMge1xuICAkYjogXCIuZmxvLWJsb2NrLWl0ZW0tY2F0ZWdvcmllc1wiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgfVxuICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgbGksIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZSB7XG5cbiAgICB9XG4gICAgICAmX19jYXRlZ29yaWVzIHtcbiAgICAgICAgbGksIGEge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDcuNTcpO1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoNyl9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlIHtcblxuICAgIH1cbiAgICAgICZfX2NhdGVnb3JpZXMge1xuICAgICAgICBsaSwgYSB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb24tMSB7XG4gICRiOiBcIi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uLTFcIjtcblxuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICB9XG4gICAgJl9fdG9wLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAgIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIH1cbiAgICAmX19saW5rLWljb24ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICZfX2xpbmsge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAjeyRifV9fdG9wLWxhYmVsIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmICsgI3skYn1fX2xpbmsge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICAmLS1wcmV2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2N3ICogMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdjdztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAvLyBDb21tZW50ZWQgb24gQWxleCdzIGNvbW1hbmRzIDonKFxuICAgICAgICAgIC8vICN7JGJ9X19saW5rLWljb24ge1xuICAgICAgICAgIC8vICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gICAgICAgICAgLy8gfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skYn1fX2xpbmstaWNvbiB7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmluZy1hcnJvdy1wcmV2O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2N3ICogMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2N3O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICN7JGJ9X19saW5rLWljb24ge1xuICAgICAgICAgICAgLy8gYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JGJ9X19saW5rLWljb24ge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtb3ZpbmctYXJyb3ctbmV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3RvcC1sYWJlbCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICAkc2l6ZTogJGdjdyArICRnY3cgLyAyO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG5cbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICB9XG4gICAgICAmX19saW5rLWljb24ge1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjhzO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG5cbiAgICAgICAgQGtleWZyYW1lcyBtb3ZpbmctYXJyb3ctbmV4dCB7XG4gICAgICAgICAgMCUgICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTt9XG4gICAgICAgICAgNTAlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7fVxuICAgICAgICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7fVxuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBtb3ZpbmctYXJyb3ctcHJldiB7XG4gICAgICAgICAgMCUgICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTt9XG4gICAgICAgICAgNTAlICB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO31cbiAgICAgICAgICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO31cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgJl9fc3BhY2VyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX19saW5rIHtcbiAgICAgICYtLXByZXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdG9wLWxhYmVsIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDE1MCk7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgJl9fbGluay1pY29uIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pdGVtLXRhZ3Mge1xuICAkYjogXCIuZmxvLWJsb2NrLWl0ZW0tdGFnc1wiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgfVxuICAgICZfX3RhZ3Mge1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCkgcmVtLWNhbGMoMTUpO1xuICAgICAgfVxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RpdGxlIHtcblxuICAgIH1cbiAgICAgICZfX3RhZ3Mge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg3LjU3KTtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDcpfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190aXRsZSB7XG5cbiAgICB9XG4gICAgICAmX190YWdzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pdGVtLXRpdGxlLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMVwiO1xuXG4gICZfX2JhY2stYnV0dG9uLXdyYXAge1xuXG4gIH1cbiAgICAmX19iYWNrLWJ1dHRvbiB7XG5cbiAgICB9XG4gICZfX3RpdGxlLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcbiAgICB9XG4gICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAmIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiLCBcIjtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgJl9fc29jaWFsLWxpbmtzLXdyYXAge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAmX19iYWNrLWJ1dHRvbi13cmFwIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICAgICAgJl9fYmFjay1idXR0b24ge1xuXG4gICAgICB9XG4gICAgJl9fdGl0bGUtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgIH1cbiAgICAmX19zb2NpYWwtbGlua3Mtd3JhcCB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgJl9fYmFjay1idXR0b24td3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgJl9fYmFjay1idXR0b24ge1xuXG4gICAgICB9XG4gICAgJl9fdGl0bGUtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgIH1cbiAgICAmX19zb2NpYWwtbGlua3Mtd3JhcCB7XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pdGVtLXRpdGxlLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMlwiO1xuXG4gICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG5cbiAgJl9fdGV4dC1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAmIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCIsIFwiO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgIH1cbiAgICAgICZfX3NlcGFyYXRvciB7XG4gICAgICB9XG4gICAgICAmX19kYXRlIHtcbiAgICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtLWRpc3BsYXktZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgICAgI3skYn1fX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnbG9iYWwtY29sdW1uLXdpZHRoICogMn0pO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyBoZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGdsb2JhbC1jb2x1bW4td2lkdGggLyAyfSk7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMxKSByZW0tY2FsYygyMClcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgfVxuICAgICAgICAmX19jYXRlZ29yeSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2VwYXJhdG9yIHtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxMCk7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgfVxuICAgICAgICAmX19zZXBhcmF0b3Ige1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pdGVtLXRpdGxlLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtM1wiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5LFxuICAgIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi0taW1nLWxhbmRzY2FwZSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArIHJlbS1jYWxjKDQ3KSkgKiAyIH0pO1xuICAgIH1cbiAgICAmLS1pbWctcG9ydHJhaXQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIH1cbiAgICAmLS1iZ2kge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgJi0tYWJvdmUge1xuXG4gICAgfVxuICAgICYtLWJnIHtcblxuICAgIH1cbiAgICAmLS1iZWxvdyB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cbiAgICAmX19pbWFnZS1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgJl9fdGV4dC1hcmVhLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcblxuICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTkpO1xuICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAmIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiwgXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzQpO1xuICAgICAgfVxuICAgICAgJl9fZXhjZXJwdCB7XG5cbiAgICAgIH1cblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmLS1mZWF0dXJlZC1pbWFnZS1wb3NpdGlvbi1iZyB7XG4gICAgICAjeyRifV9fdGV4dC1hcmVhLXdyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTY0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEzMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuXG4gICAgICB9XG4gICAgICAmLS1hYm92ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICAgICYtLWJnIHtcblxuICAgICAgfVxuICAgICAgJi0tYmVsb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMDQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtYXJlYS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2V4Y2VycHQge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICYtLWltZyB7XG5cbiAgICAgIH1cbiAgICAgICYtLWJnaSB7XG5cbiAgICAgIH1cbiAgICAgICYtLWFib3ZlIHtcblxuICAgICAgfVxuICAgICAgJi0tYmcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZWxvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsIDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190ZXh0LWFyZWEge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19leGNlcnB0IHtcblxuICAgICAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGh0bWw6bm90KC5odG1sLS1zdHlsZS1maXhlZCkgLmZsby1ibG9jay1pdGVtLXRpdGxlLTMtYmxvY2sgLmZsby1ibG9jay1pdGVtLXRpdGxlLTMtLWZlYXR1cmVkLWltYWdlLXBvc2l0aW9uLWJnIC5mbG8tYmxvY2staXRlbS10aXRsZS0zX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB9XG59XG4iLCIuZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycy0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pdGVtLXZlbmRvcnMtMlwiO1xuXG4gICZfX2xpbmtzIHtcbiAgfVxuICAgICZfX2xpbmsge1xuICAgIH1cbiAgICAgICZfX2xpbmstcHJldGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcblxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcblxuICAgICZfX2xpbmtzIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY0LjIyKSAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluay10aXRsZSB7XG5cbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX19saW5rcyB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstcHJldGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluay10aXRsZSB7XG5cbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWl0ZW0tdmVuZG9ycyB7XG4gICRiOiBcIi5mbG8tYmxvY2staXRlbS12ZW5kb3JzXCI7XG5cbiAgJl9fdGl0bGUge1xuXG4gIH1cbiAgJl9fbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNSkgMDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDM7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAmX19saW5rcyB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggLyAyO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAmX19saW5rcyB7XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTFcIjtcblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjkpO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAmX19zZXBhcmF0b3Ige1xuICAgICAgfVxuICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgJl9fZXhjZXJwdCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMyk7XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjYpO1xuICAgIH1cbiAgICAmX19pdGVtLWxpbmsge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTEpIHJlbS1jYWxjKDM1KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICB9XG4gICAgJl9faXRlbTpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB9XG4gICAgICAgICZfX3NlcGFyYXRvciB7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTApO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNTQ2KTtcbiAgICAgIH1cbiAgICAgICZfX2V4Y2VycHQge1xuXG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcblxuICAgICAgfVxuICAgICAgJl9faXRlbS1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faXRlbSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgfVxuICAgICAgICAmX19zZXBhcmF0b3Ige1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIH1cbiAgICAgICZfX2V4Y2VycHQge1xuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG5cbiAgICAgIH1cbiAgICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgfVxufVxuLy8gc2lkZWJhciBjb21wYXRpYmlsaXR5XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAuYm9keV9oYXNfc2lkZWJhcntcbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMSB7XG4gICAgICAmX19pdGVte1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZXtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTJcIjtcblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZS1iZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtYmdcIik7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2VwYXJhdG9yIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAvLyAkZmVhdHVyZWRfaW1hZ2VfaGVpZ2h0OiByZW0tY2FsYyg0NzEpO1xuICAgICR0ZXh0X2FyZWFfb2Zmc2V0OiByZW0tY2FsYyg0MCk7XG4gICAgJl9faXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMTkpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGV4dF9hcmVhX29mZnNldDtcbiAgICAgIH1cblxuICAgICAgJi0taGFzLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy9oZWlnaHQ6ICRmZWF0dXJlZF9pbWFnZV9oZWlnaHQgKyAkdGV4dF9hcmVhX29mZnNldDtcblxuICAgICAgICAjeyRifV9fdGV4dC1hcmVhIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtJHRleHRfYXJlYV9vZmZzZXQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdsb2JhbC1jb2x1bW4td2lkdGh9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcblxuICAgICAgICAjeyRifV9fdGV4dC1hcmVhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRifV9faG92ZXItbGluZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlLWJnIHtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vYm90dG9tOiAkdGV4dF9hcmVhX29mZnNldDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgLy8gaGVpZ2h0OiAkZmVhdHVyZWRfaW1hZ2VfaGVpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yLG1hcmdpbi1ib3R0b20pO1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnktd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB9XG4gICAgICAgICZfX3NlcGFyYXRvciB7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTApO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9faG92ZXItbGluZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24od2lkdGgpO1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlLWJnIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5LXdyYXAge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zZXBhcmF0b3Ige1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgICAgfVxuICB9XG59XG4vLyBzaWRlYmFyIGNvbXBhdGliaWxpdHlcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gIC5ib2R5X2hhc19zaWRlYmFye1xuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yIHtcbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlLWJne1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ3MSkgKyAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctM1wiO1xuXG4gICZfX2l0ZW0ge1xuICB9XG4gICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2stbGlzdGluZy0zX19mZWF0dXJlZC1pbWFnZVwiKTtcbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICB9XG4gICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjkpO1xuICAgICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgcmVtLWNhbGMoMzApO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzNSk7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgJjpudGgtY2hpbGQoZXZlbil7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIH1cbiAgICAgICY6bm90KCN7JGJ9X19pdGVtLS1oYXMtZmVhdHVyZWQtaW1hZ2UpIHtcbiAgICAgICAgI3skYn1fX3RleHQtYXJlYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDA0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB9XG4gICAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuXG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTQge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctNFwiO1xuXG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIH1cbiAgICAmX19vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICRzaXplOiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDE4KSAqIDJ9KTtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNTMpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjcpO1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgJl9faXRlbSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgJi0taGFzLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgI3skYn1fX292ZXJsYXkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtLCBib3R0b20pO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICN7JGJ9X19vdmVybGF5IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bm90KCN7JGJ9X19pdGVtLS1oYXMtZmVhdHVyZWQtaW1hZ2UpIHtcbiAgICAgICAgI3skYn1fX292ZXJsYXkge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI4KTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faXRlbSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM1MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICB9XG4gICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApXG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTUge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctNVwiO1xuXG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgJi0tYmdpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fb3ZlcmxheS1jb2xvciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4MCk7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19zZXBhcmF0b3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSBhdXRvO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzOS41KTtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgICAgJl9fb3ZlcmxheS1sYWJlbCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX2NhdGVnb3J5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAmX19pdGVtIHtcbiAgICAgICYtLWhhcy1mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgICAgI3skYn1fX292ZXJsYXkge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRifV9fb3ZlcmxheS1jb2xvciB7XG4gICAgICAgICAgb3BhY2l0eTogdmFyKC0tb3ZlcmxheS1vcGFjaXR5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JGJ9X19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgI3skYn1fX292ZXJsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bm90KCN7JGJ9X19pdGVtLS1oYXMtZmVhdHVyZWQtaW1hZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlLXdyYXAge1xuICAgICAgICAmID4gaW1ne1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX292ZXJsYXkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJjpub3QoI3skYn0tLW1hc29ucnkpIHtcbiAgICAgICN7JGJ9X19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tbW9iaWxlLWhlaWdodCk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlLXdyYXAge1xuXG4gICAgICB9XG4gICAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25cIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAmLS1oaWRkZW4tbnVtYmVycyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQhaW1wb3J0YW50O1xuICB9XG4gICZfX25hdmlnYXRpb24ge1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2LjUpO1xuICAgIH1cbiAgICAmLS1wcmV2aW91cyB7XG5cbiAgICAgICYgaSB7XG5cbiAgICAgIH1cblxuICAgIH1cbiAgICAmLS1uZXh0IHtcbiAgICAgICYgaSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcGFnZS1saW5rcyB7XG5cbiAgfVxuICAgICZfX3BhZ2UtbnVtYmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19wYWdlLWRvdHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgICYgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuICAgICAgICAmIGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19zcGFjZXIge1xuICAgICAgICBmbGV4OiAwIDEgMTAlO1xuICAgICAgfVxuICAgICZfX3BhZ2UtbGlua3Mge1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fcGFnZS1udW1iZXIge1xuICAgICAgfVxuICAgICAgJl9fcGFnZS1kb3RzIHtcblxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgJiBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgJiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX3BhZ2UtbGlua3Mge1xuICAgIH1cbiAgICAgICZfX3BhZ2UtbnVtYmVyIHtcblxuICAgICAgICAmLS1hY3RpdmUge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3BhZ2UtZG90cyB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xXCI7XG5cbiAgJl9fdGl0bGUtYXJlYSB7XG4gIH1cbiAgICAmX19wcmUtdGl0bGUge1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAmX19pbWFnZXMtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAgICZfX2xlZnQtc2lkZS1pbWFnZXMtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAgICZfX2xlZnQtc2lkZS1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAgICZfX2ltYWdlLW92ZXJsYXkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2stbW9zYWljLWltYWdlLWxpbmtzLTFfX2ltYWdlXCIpO1xuICAgICAgICAmX19sZWZ0LXNpZGUtaW1hZ2UtbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgJl9fcmlnaHQtc2lkZS1pbWFnZXMtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAgICZfX3JpZ2h0LXNpZGUtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLW1vc2FpYy1pbWFnZS1saW5rcy0xX19yaWdodC1zaWRlLWltYWdlXCIpO1xuICAgICAgICAmX19yaWdodC1zaWRlLWltYWdlLWxpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fcHJlLXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAmX19pbWFnZXMtYXJlYSB7XG4gICAgfVxuICAgICAgJGdhcDogcmVtLWNhbGMoMTgpO1xuICAgICAgJl9fbGVmdC1zaWRlLWltYWdlcy1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICB9XG4gICAgICAgICZfX2xlZnQtc2lkZS1pbWFnZSB7XG5cbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzI1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhcCAvIDJ9KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTY0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKiBTVEFSVDogSE9WRVIgQU5JTUFUSU9OICovXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcblxuICAgICAgICAgICAgICAjeyRifV9faW1hZ2Uge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8qIEVORDogSE9WRVIgQU5JTUFUSU9OICovXG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xlZnQtc2lkZS1pbWFnZS1saW5rIHtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LXNpZGUtaW1hZ2VzLWFyZWEge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19yaWdodC1zaWRlLWltYWdlIHtcblxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMjUpO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2FwIC8gMn0pO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2NCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8qIFNUQVJUOiBIT1ZFUiBBTklNQVRJT04gKi9cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcblxuICAgICAgICAgICAgICAgICN7JGJ9X19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvKiBFTkQ6IEhPVkVSIEFOSU1BVElPTiAqL1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fcmlnaHQtc2lkZS1pbWFnZS1saW5rIHtcbiAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgICAmX19wcmUtdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICZfX2ltYWdlcy1hcmVhIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgICAgJl9fbGVmdC1zaWRlLWltYWdlcy1hcmVhIHtcbiAgICAgIH1cbiAgICAgICAgJl9fbGVmdC1zaWRlLWltYWdlIHtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xlZnQtc2lkZS1pbWFnZS1saW5rIHtcbiAgICAgICAgfVxuICAgICAgJl9fcmlnaHQtc2lkZS1pbWFnZXMtYXJlYSB7XG4gICAgICB9XG4gICAgICAgICZfX3JpZ2h0LXNpZGUtaW1hZ2Uge1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19yaWdodC1zaWRlLWltYWdlLWxpbmsge1xuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMVwiO1xuXG4gICZfX2Zvcm0tYXJlYSB7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgJl9fZm9ybS1maWVsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMCFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM4KSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMzUpO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gIC8qIFNUQVJUOiBJTUFHRSBGRUVEICovXG4gICAgQG1peGluIGltYWdlcygkc2l6ZTogcmVtLWNhbGMoMTAwKSwgJG1vYmlsZV9tYXJnaW5fYm90dG9tOiByZW0tY2FsYygyMCkpIHtcbiAgICAgICZfX2ltYWdlcyB7XG4gICAgICAgIC5pbWctYmxvY2sge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgICAmX19pbWFnZXMge1xuICAgICAgICAgICYsXG4gICAgICAgICAgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQ4JSAtIDMuN3Z3KTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg0OCUgLSAzLjd2dykhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAmX19pbWFnZXMge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtb2JpbGVfbWFyZ2luX2JvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbW9iaWxlX21hcmdpbl9ib3R0b207XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBJTUFHRSBGRUVEICovXG4gIEBpbmNsdWRlIGltYWdlcygkZ2N3ICogMyk7XG5cbiAgJl9faW1hZ2VzLWFyZWEge1xuICB9XG4gICAgJl9faW5zdGFncmFtLWljb24ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgICZfX2ltYWdlcyB7XG4gICAgfVxuICAgICZfX2JvdHRvbS1saW5rIHtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoODcpIHJlbS1jYWxjKDEwMCk7XG4gICAgJl9fbmV3c2xldHRlci1tYWluLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgJl9fZm9ybS1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDglO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAzNSU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICZfX2Zvcm0tZmllbGR7XG4gICAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19pbWFnZXMtYXJlYXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA2NSU7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC01LjQzNzVyZW07XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2N3O1xuICAgICAgfVxuICAgICAgJl9fZm9ybS1maWVsZCB7XG4gICAgICB9XG4gICAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgIH1cbiAgICAgICZfX2luc3RhZ3JhbS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzElO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDg3IC8gMik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgICAmX19pbWFnZXMge1xuICAgICAgICAmLFxuICAgICAgICAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2UsXG4gICAgICAgIC5pbWctYmxvY2sge1xuICAgICAgICAgICRnYXA6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3JlbS1jYWxjKDg3KX0pO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAmX19ib3R0b20tbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogJGdjdyAqIDEuNTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDg3IC8gMil9KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJl9fZm9ybS1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fZm9ybS1maWVsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgIH1cblxuICAgICZfX2ltYWdlcy1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuICAgICAgJl9faW5zdGFncmFtLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAmX19pbWFnZXMge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgICAgJGltYWdlX2dhcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAkaW1hZ2Vfc2l6ZTogY2FsYygoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgKiAyfSkgLyAyIC0gI3skaW1hZ2VfZ2FwfSAvIDIpO1xuICAgICAgICAmX19pbWFnZSxcbiAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6ICRpbWFnZV9zaXplIWltcG9ydGFudDtcbiAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbWFnZV9nYXAgKiAwLjc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6ICRpbWFnZV9zaXplO1xuICAgICAgICB9XG4gICAgICAmX19ib3R0b20tbGluayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgfVxufVxuXG4vLyAzMzUgKyA2ODUgPSAxMDIwXG4vLyAzMzUgPT4geCVcbi8vIDEwMjAgPT4gMTAwJVxuLy8geCUgPSAzMzUgKiAxMDAgLyAxMDIwID0gMzUlXG4vLyBsZWZ0IG5ld3NsZXR0ZXIgYXJlYSAtIDM1JVxuLy8gNjg1ID0+IHklXG4vLyAxMDIwID0+IDEwMCVcbi8vIHglID0gNjg1ICogMTAwIC8gMTAyMCA9IDY1JVxuLy8gcmlnaHQgaW1hZ2VzIGFyZWEgLSA2NSVcbi8vIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19uZXdzbGV0dGVyLW1haW4td3JhcCB7XG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQUZBO1xuLy8gfVxuLy8gXG4vLyAuZmxvLWJsb2NrLW5ld3NsZXR0ZXItYmxvY2stMV9fZm9ybS1hcmVhIHtcbi8vICAgICBwYWRkaW5nOiA4JTtcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuLy8gICAgIHdpZHRoOiAzNSU7XG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuLy8gICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gfVxuLy8gXG4vLyBpbnB1dC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19mb3JtLWZpZWxkLmZsby1uby1zdHlsaW5nLmVtcHR5IHtcbi8vICAgICBoZWlnaHQ6IGF1dG87XG4vLyB9XG4vLyBcbi8vIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZXMtYXJlYSB7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIHdpZHRoOiA2NSU7XG4vLyAgICAgdG9wOiBhdXRvO1xuLy8gICAgIHJpZ2h0OiBhdXRvO1xuLy8gICAgIG1hcmdpbi10b3A6IC01LjQzNzVyZW07XG4vLyB9XG4vLyBcbi8vIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbWFnZSB7XG4vLyAgICAgd2lkdGg6IGNhbGMoNDglIC0gMy43dncpO1xuLy8gICAgIGhlaWdodDogYXV0bztcbi8vIH1cbi8vIFxuLy8gLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlcywgLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTFfX2ltYWdlcyAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbi8vICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4vLyB9XG4vLyBcbi8vIC5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0xX19pbnN0YWdyYW0taWNvbiB7XG4vLyAgICAgcmlnaHQ6IDMxJTtcbi8vIH1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIi5mbG8tYmxvY2stbmV3c2xldHRlci1ibG9jay0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1uZXdzbGV0dGVyLWJsb2NrLTJcIjtcblxuICAmX190aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgfVxuXG4gICZfX25ld3NsZXR0ZXItYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAgICZfX3RleHQge1xuICAgIH1cblxuICAgICZfX25ld3NsZXR0ZXIge1xuICAgIH1cbiAgICAgICZfX25ld3NsZXR0ZXItYXJlYS1mb3JtIHtcbiAgICAgIH1cbiAgICAgICAgJl9fbmV3c2xldHRlci1hcmVhLWZvcm0tZmllbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuXG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmX19uZXdzbGV0dGVyLWFyZWEtZm9ybS1zdWJtaXQge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygzNSk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgY29sb3IpO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSAwO1xuXG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuXG4gICAgJl9fbmV3c2xldHRlci1hcmVhIHtcblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIH1cblxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgJl9fbmV3c2xldHRlciB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIH1cbiAgICAgICAgJl9fbmV3c2xldHRlci1hcmVhLWZvcm0ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19uZXdzbGV0dGVyLWFyZWEtZm9ybS1maWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbmV3c2xldHRlci1hcmVhLWZvcm0tc3VibWl0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcblxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cblxuICAgICZfX25ld3NsZXR0ZXItYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG5cbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgICAgJl9fdGV4dCB7XG4gICAgICB9XG5cbiAgICAgICZfX25ld3NsZXR0ZXIge1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAgICZfX25ld3NsZXR0ZXItYXJlYS1mb3JtIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbmV3c2xldHRlci1hcmVhLWZvcm0tZmllbGQge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19uZXdzbGV0dGVyLWFyZWEtZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMge1xuICAkYjogXCIuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXNcIjtcblxuICAmX190aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAmX19wYWNrYWdlcy1hcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICAgJl9fcGFja2FnZSB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0NzUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAgICZfX3BhY2thZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygzOSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgICAmX19pbWFnZS1vdmVybGF5IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICZfX3BhY2thZ2UtdGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEzOCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1wcmljZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAmX19wYWNrYWdlLWxpbmsge1xuICAgICAgfVxuICAmX19wYWNrYWdlLWJsb2NrLWJ1dHRvbi13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19wYWNrYWdlLWJsb2NrLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoNTApO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYyKTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgJl9fcGFja2FnZXMtYXJlYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICYtLTMtcGFja2FnZXMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fcGFja2FnZSB7XG4gICAgICAgICRnYXA6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAjeyRnYXB9KTtcblxuICAgICAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1udW1iZXJ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fcGFja2FnZS10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZWxlbWVudHMtb24taW1hZ2UtY29sb3IpO1xuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19wYWNrYWdlLXByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1pbWFnZS1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgI3skYn1fX3BhY2thZ2UtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICN7JGJ9X19pbWFnZS1vdmVybGF5IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZWxlbWVudHMtb24taG92ZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24od2lkdGgsIG9wYWNpdHkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19wYWNrYWdlLXRpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oaGVpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS1wcmljZSB7XG4gICAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLWxpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAmX19wYWNrYWdlLWJsb2NrLWJ1dHRvbi13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYzKTtcbiAgICB9XG4gICAgICAmX19wYWNrYWdlLWJsb2NrLWJ1dHRvbiB7XG4gICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCkgMDtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgJl9fcGFja2FnZXMtYXJlYSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAgICZfX3BhY2thZ2Uge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLWNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZWxlbWVudHMtb24taG92ZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS10aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICAgICAgICB9XG4gICAgICAgICZfX3BhY2thZ2UtbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgIH1cbiAgICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uIHtcbiAgICAgIH1cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXMge1xuICAkYjogXCIuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNcIjtcblxuICAmX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1NSk7XG4gIH1cblxuICAmX19pdGVtcyB7XG5cbiAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICAgJl9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG4gICAgICAmX19pdGVtLXRleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNCkgcmVtLWNhbGMoMjApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tY2F0ZWdvcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX3RpdGxlIHtcbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoLTIyLjUpO1xuICAgIH1cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDIyLjUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGV4dC1hcmVhIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2l0ZW0tY2F0ZWdvcnkge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX3RpdGxlIHtcbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgfVxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGV4dC1hcmVhIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2l0ZW0tY2F0ZWdvcnkge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pdGVtLXRpdGxlIHtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc2hhcmUtbGlua3Mge1xuICAkYjogXCIuZmxvLWJsb2NrLXNoYXJlLWxpbmtzXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjcpO1xuICB9XG4gICZfX3NoYXJlLWxpbmtzIHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUuNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fc2hhcmUtbGlua3Mge1xuXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUge1xuXG4gICAgfVxuICAgICZfX3NoYXJlLWxpbmtzIHtcblxuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1zbGlkZXNob3ctMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2xpZGVzaG93LTFcIjtcblxuICAmX19zbGlkZXMge1xuXG4gIH1cbiAgJl9fY29udGVudC13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuXG4gICAgICB9XG4gICAgJl9fYm90dG9tLWFyZWEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMik7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX3RpdGxlLFxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX3RleHQsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYm90dG9tLWxhYmVse1xuICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgICAmX19hcnJvdyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY291bnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2NvdW50ZXItaW5kZXgge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NvdW50ZXItc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIC0gXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NvdW50ZXItY291bnQge1xuXG4gICAgICAgICAgfVxuICAgICAgJl9fYm90dG9tLWxhYmVsIHtcblxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fc2xpZGVzIHtcblxuICAgIH1cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICB9XG4gICAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtYXJlYSB7XG5cbiAgICAgICAgd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogNDtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAmX19ib3R0b20tYXJlYSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCAqIDJ9KTtcbiAgICAgIH1cbiAgICAgICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19hcnJvdyB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY291bnRlciB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb3VudGVyLWluZGV4IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY291bnRlci1zZXBhcmF0b3Ige1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb3VudGVyLWNvdW50IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAmX19ib3R0b20tbGFiZWwge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2tbZGF0YS1vbnJlYWR5PVwiZmxvX2Jsb2NrX3NsaWRlc2hvd18xXCJde1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19zbGlkZXMge1xuXG4gICAgfVxuICAgIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIHRvcDogMjB2aDtcbiAgICB9XG4gICAgJl9fY29udGVudC13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDU1KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgJl9fYm90dG9tLWFyZWEge1xuICAgICAgfVxuICAgICAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb3VudGVyIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvdW50ZXItaW5kZXgge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb3VudGVyLXNlcGFyYXRvciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvdW50ZXItY291bnQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICZfX2JvdHRvbS1sYWJlbCB7XG5cbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXNsaWRlc2hvdy0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1zbGlkZXNob3ctMlwiO1xuXG4gICZfX3NsaWRlcyB7XG5cbiAgfVxuXG4gICZfX25hdmlnYXRpb24ge1xuXG4gIH1cbiAgICAmX19hcnJvdyB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG4gICAgJl9fZG90cyB7XG5cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19zbGlkZXMge1xuXG4gICAgfVxuXG4gICAgJGdhcF9iZXR3ZWVuX25hdl9pdGVtczogcmVtLWNhbGMoMjQpO1xuXG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDM5KTtcbiAgICB9XG4gICAgICAmX19hcnJvdyxcbiAgICAgICZfX2RvdHMgbGlcbiAgICAgIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3KTtcbiAgICAgIH1cbiAgICAgICZfX2Fycm93IHtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWxfY2xpY2thYmxlKCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwX2JldHdlZW5fbmF2X2l0ZW1zO1xuICAgICAgICB9XG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwX2JldHdlZW5fbmF2X2l0ZW1zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19kb3RzIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXBfYmV0d2Vlbl9uYXZfaXRlbXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgYnV0dG9uIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAmX19zbGlkZXMsXG4gICAgJl9fc2xpZGUgaW1nIHtcbiAgICAgIC8vIGhlaWdodDogcmVtLWNhbGMoMjc1KTtcbiAgICB9XG4gICAgJl9faGVpZ2h0LWF1dG8gaW1ne1xuICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICB9XG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICAgJl9fYXJyb3csICZfX2RvdHMge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAgIH1cbiAgICAgICZfX2RvdHMge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg1KTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGVzdGltb25pYWxzLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJl9fdGVzdGltb25pYWxzLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAgICZfX3Rlc3RpbW9uaWFsLXNsaWRlIHtcbiAgICB9XG4gICAgICAmX190ZXN0aW1vbmlhbC1zbGlkZS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgICAgJl9fdGVzdGltb25pYWwtaW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI3MCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGVzdGltb25pYWwtdGV4dC1hcmVhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNik7XG4gICAgICAgICAgICAmIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLWNvdW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMDApO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY3VycmVudC1pdGVtLW51bWJlciB7XG4gICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19udW1iZXItZGl2aWRlciB7XG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1KSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgJl9fYXJyb3dzIHtcbiAgICAmLS1oaWRlLWFycm93cyB7XG4gICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgICAmX19hcnJvdyB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDcpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG5cbiAgICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgICBhbmltYXRpb24tbmFtZTogbG92ZWx5LWFycm93O1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuOHM7XG5cbiAgICAgIEBrZXlmcmFtZXMgbG92ZWx5LWFycm93IHtcbiAgICAgICAgMCUgICB7dHJhbnNmb3JtOiBzY2FsZVgoMSk7fVxuICAgICAgICA1MCUgIHt0cmFuc2Zvcm06IHNjYWxlWCgxLjIpO31cbiAgICAgICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZVgoMSk7fVxuICAgICAgfVxuICAgICAgJi0tbGVmdCB7fVxuICAgICAgJi0tcmlnaHQge31cbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYyg4MCkgcmVtLWNhbGMoNzApO1xuXG4gICAgJl9fdGVzdGltb25pYWxzLXNsaWRlciB7XG4gICAgfVxuICAgICZfX2ltYWdlLS1uby1jcm9we1xuICAgICAgI3skYn1fX3Rlc3RpbW9uaWFsLWltYWdle1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGVzdGltb25pYWwtc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGVzdGltb25pYWwtc2xpZGUtY29udGVudCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAkYmxvY2tfcGFkZGluZ3M6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCAqIDI7XG4gICAgICAgICAgLy93aWR0aDogY2FsYygxMDB2dyAtICN7JGJsb2NrX3BhZGRpbmdzfSk7XG4gICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwNCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzYyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2N1cnJlbnQtaXRlbS1udW1iZXIge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX190b3RhbC1pdGVtLW51bWJlciB7XG4gICAgICAgICAgICAgIH1cbiAgICAmX19hcnJvd3Mge1xuICAgIH1cbiAgICAgICZfX2Fycm93IHtcbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3Rlc3RpbW9uaWFscy1zbGlkZXIge1xuICAgIH1cbiAgICAmX19tb2JpbGUtaW1hZ2UtLW5vLWNyb3B7XG4gICAgICAjeyRifV9fdGVzdGltb25pYWwtaW1hZ2V7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX190ZXN0aW1vbmlhbC1zbGlkZSB7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbC10ZXh0LWFyZWEge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLWNvdW50ZXIge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19udW1iZXItZGl2aWRlciB7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgICAgICAgICAgICB9XG4gICAgJl9fYXJyb3dzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xuICAgIH1cbiAgICAgICZfX2Fycm93IHtcbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcmlnaHQge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stMVwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICZfX3RpdGxlIHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICAmX19zdWJ0aXRsZSB7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stMlwiO1xuXG4gICZfX3RleHQtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3MDApO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RleHQtY29udGVudCB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGV4dC1jb250ZW50IHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay0zIHtcbiAgJGI6IFwiLmZsby10ZXh0LWJsb2NrLTNcIjtcblxuICAmX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICZfX3RleHQtY29sdW1ucyB7XG4gICAgJiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgICAmX19sZWZ0LXRleHQtY29sdW1uIHtcbiAgICB9XG4gICAgJl9fcmlnaHQtdGV4dC1jb2x1bW4ge1xuICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgfVxuICAgICZfX3RleHQtY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAgICZfX2xlZnQtdGV4dC1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICB9XG4gICAgICAmX19yaWdodC10ZXh0LWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzQpO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAgIH1cbiAgICAmX190ZXh0LWNvbHVtbnMge1xuICAgICAgJiBkaXY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19sZWZ0LXRleHQtY29sdW1uIHtcbiAgICAgIH1cbiAgICAgICZfX3JpZ2h0LXRleHQtY29sdW1uIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTQge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stNFwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICAmX190ZXh0LWNvbHVtbiB7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAmIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICZfX3RleHQtY29sdW1uIHtcbiAgICAgIC8vIFRoZSBjYWxjdWxhdGlvbiBpcyBkb25lIHNvIHRoYXQgaWYgdGhlIHVzZXJzIHVzZXMgMSBvciAyIGNvbHVtbnMgdGhlaXIgd2lkdGggcmVtYWlucyBjb25zaXN0ZW50LlxuICAgICAgJGdhcDogcmVtLWNhbGMoNjApO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAjeyRnYXB9KTtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQzKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX3RleHQtY29sdW1uIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTsgIFxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTUge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stNVwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICB9XG4gICZfX3RpdGxlIHtcbiAgfVxuICAmX19zZXBhcmF0aW5nLWxpbmUge1xuICAgIHdpZHRoOiByZW0tY2FsYyg0NSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzUpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc2VwYXJhdGluZy1saW5lIHtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgICAmX19zZXBhcmF0aW5nLWxpbmUge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTYge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stNlwiO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gICZfX3RpdGxlLXNlY3Rpb24ge1xuICB9XG4gICAgJl9fdGl0bGUge1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cblxuICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICYgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTUpICRnY3cgLyAyO1xuXG4gICAgJl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzEzKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cblxuICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGdjdyAvIDI7XG4gICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgcmVtLWNhbGMoMjApO1xuXG4gICAgJl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgfVxuXG4gICAgJl9fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay10cmF2ZWwtZGF0ZXMge1xuICAkYjogXCIuZmxvLWJsb2NrLXRyYXZlbC1kYXRlc1wiO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJl9faW1hZ2UtYXJlYSB7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICB9XG5cbiAgJl9fdGV4dC1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX190ZXh0LWFyZWEtdGl0bGUge1xuICAgIH1cbiAgICAmX190cmF2ZWwtZGF0ZXMtbGlua3Mge1xuICAgIH1cbiAgICAgICZfX3RyYXZlbC1kYXRlLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVzdGluYXRpb24ge1xuICAgICAgICB9XG4gICAgICAgICZfX3VybCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggLyAyO1xuXG4gICAgJi0taW1hZ2UtYXJlYS1sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICN7JGJ9X19pbWFnZS1hcmVhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWltYWdlLWFyZWEtcmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICN7JGJ9X19pbWFnZS1hcmVhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZS1hcmVhIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICB9XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcwKSAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgfVxuICAgICAgJl9fdGV4dC1hcmVhLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgICAgJl9fdHJhdmVsLWRhdGVzLWxpbmtzIHtcblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICN7JGJ9X190cmF2ZWwtZGF0ZS1saW5rIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX190cmF2ZWwtZGF0ZS1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19kZXN0aW5hdGlvbiB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3VybCB7XG4gICAgICAgICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICYtLWltYWdlLWFyZWEtbGVmdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAjeyRifV9faW1hZ2UtYXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0taW1hZ2UtYXJlYS1yaWdodCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgICAgICN7JGJ9X19pbWFnZS1hcmVhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlLWFyZWEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtcGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgJl9faW1hZ2Uge1xuICAgICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX190ZXh0LWFyZWEtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX190cmF2ZWwtZGF0ZXMtbGlua3Mge1xuICAgICAgfVxuICAgICAgICAmX190cmF2ZWwtZGF0ZS1saW5rIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19kZXN0aW5hdGlvbiB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3VybCB7XG4gICAgICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMVwiO1xuICAmX190aXRsZS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAmX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIH1cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgJi0tdGV4dC1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gICAgJi0tdGV4dC1wb3NpdGlvbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgJi0tdGV4dC1wb3NpdGlvbi1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cbiAgICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9faW1hZ2Utd3JhcFwiKTtcblxuICAgICZfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9faW1hZ2Utc3VidGl0bGUge1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjgpO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICB9XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgfVxuICAgICAgLmZsby12aWRlby1lbWJlZDpub3QoLmZsby12aWRlby1lbWJlZC0tbG9hZGVkKSAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuXG4gICAgICB9XG4gICAgICAmX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgICAgICAkd2lkdGg6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDQpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDc2KTtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg3Nik7XG4gICAgICB9XG4gICAgICAgICZfX2ltYWdlLXByZXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9faW1hZ2UtdGl0bGUge1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190aXRsZS13cmFwIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQ1KSByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgIH1cbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgIC8vIGhlaWdodDogcmVtLWNhbGMoNDAwKSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX19pbWFnZS1wcmV0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2ltYWdlLXRpdGxlIHtcbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJcIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICAmX19pbWFnZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgfVxuICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9faW1hZ2Utd3JhcFwiKTtcbiAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICB9XG4gICAgJl9fdG9wLWxhYmVsIHtcbiAgICB9XG4gICAgJl9fcHJldGl0bGUge1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX2J1dHRvbi1saW5rLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2J1dHRvbi1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOTApIHJlbS1jYWxjKDYwKSByZW0tY2FsYyg5MCkgcmVtLWNhbGMoOTApO1xuICAgICYtLWltYWdlLW9uLXRoZS1sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgICYtLWltYWdlLW9uLXRoZS1yaWdodCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDU4NSk7XG4gICAgfVxuICAgICZfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgICAmX190b3AtbGFiZWwge1xuICAgICAgfVxuICAgICAgJl9fcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19idXR0b24tbGluay13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uLWxpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmLS1pbWFnZS1vbi10aGUtbGVmdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAmLS1pbWFnZS1vbi10aGUtcmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAmX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX3RvcC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICZfX3ByZXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19idXR0b24tbGluay13cmFwIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbi1saW5rIHtcbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWNvbW1lbnRzIHtcbiAgJGI6IFwiLmZsby1jb21tZW50c1wiO1xuXG4gIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgICZfX3RvcC1hcmVhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1Nyk7XG4gICAgfVxuICAgICAgJl9fY29tbWVudHMtY291bnQge1xuXG4gICAgICB9XG4gICAgICAmX19zaGFyaW5nLW9wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxuICAgICAgfVxuICAgICAgICAmX19zaGFyaW5nLW9wdGlvbnMtbGFiZWwge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgICAgICZfX3NoYXJpbmctbGlua3Mge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgJl9fdGFncyB7XG4gICAgICAgIGEge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIsIFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICZfX3RvcC1hcmVhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgICAmX19jb21tZW50cy1jb3VudCxcbiAgICAgICAgJl9fc2hhcmluZy1vcHRpb25zLFxuICAgICAgICAmX190YWdzXG4gICAgICAgIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX3RhZ3Mge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAmX190b3AtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX2NvbW1lbnRzLWNvdW50IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2hhcmluZy1vcHRpb25zIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogVE9QIEFSRUEgKi9cblxuICAvKiBTVEFSVDogQ09NTUVOVFMgV1JBUCAqL1xuICAgICZfX2NvbW1lbnRzLXdyYXAge1xuXG4gICAgfVxuICAgICAgLyogU1RBUlQ6IExJU1QgKi9cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDM3KTtcblxuICAgICAgICAgICYgPiAuY29tbWVudDpmaXJzdC1jaGlsZCA+ICN7JGJ9X19jb21tZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY29tbWVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgI3skYn1fX2NvbW1lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbW1lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICN7JGJ9X19jb21tZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSkgMDtcblxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgICAgICAgI2NhbmNlbC1jb21tZW50LXJlcGx5LWxpbmsgaSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtdG9wLXdyYXAgICB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2NvbW1lbnQtYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNDcuNSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDAuNTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9fY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2NvbW1lbnQtZGF0ZSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWNvbnRlbnQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbW1lbnQgLmNvbW1lbnQge1xuICAgICAgICAgICAgICAjeyRifV9fY29tbWVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtY29udGVudCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDEuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICZfX2NvbW1lbnQtdG9wLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLyogRU5EOiBMSVNUICovXG5cbiAgICAgIC8qIFNUQVJUOiBGT1JNICovXG4gICAgICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS10b3AtYXJlYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1NSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fZm9ybS10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Zvcm0tc3VidGl0bGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fZm9ybS1maWVsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLXRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxMjYpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Zvcm0gLnN1Ym1pdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG1hcmdpbik7XG4gICAgICAgICAgICAmLmlzX3N0dWNrIHtcbiAgICAgICAgICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgICAgJltzdHlsZSo9YWJzb2x1dGVdIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2Zvcm17XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgJi0taGFsZiB7XG4gICAgICAgICAgICAgICAgJGdhcDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDJ9KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgICAgICAgJiArICN7JGJ9X19mb3JtLWZpZWxkLS1oYWxmIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMzApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLyogRU5EOiBGT1JNICovXG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICZfX2NvbW1lbnRzLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19saXN0LFxuICAgICAgICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gIC8qIEVORDogQ09NTUVOVFMgV1JBUCAqL1xuXG4gICZfX2ZhY2Vib29re1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLmZsby1mb290ZXItc2lkZWJhcnMge1xuICAkYjogXCIuZmxvLWZvb3Rlci1zaWRlYmFyc1wiO1xuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWFyZWEtMiB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMlwiO1xuXG4gICZfX3NvY2lhbC1hcmVhIHtcblxuICB9XG4gICAgJl9fbGluayB7XG5cbiAgICB9XG4gICAgJl9fc29jaWFsLWxpbmtzIHtcblxuICAgIH1cbiAgJl9fdGl0bGUtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICAgJl9fdGl0bGUge1xuXG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcblxuICAgIH1cbiAgJl9fbmV3c2xldHRlci1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE0KSByZW0tY2FsYygyNikgcmVtLWNhbGMoMTQpIHJlbS1jYWxjKDE4KTtcbiAgfVxuICAgICZfX25ld3NsZXR0ZXItZm9ybS1lbWFpbCB7XG4gICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX25ld3NsZXR0ZXItZm9ybS1zdWJtaXQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDEwMCkgKiAyfSk7XG4gICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMzEpIDA7XG4gICAgLy8gbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzEpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG5cbiAgICAmX19zb2NpYWwtYXJlYSxcbiAgICAmX190aXRsZS1hcmVhXG4gICAge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgIH1cbiAgICAmX19zb2NpYWwtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuICAgICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX190aXRsZS1hcmVhIHtcblxuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuXG4gICAgICB9XG4gICAgJl9fbmV3c2xldHRlci1mb3JtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDJ9KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAgICZfX25ld3NsZXR0ZXItZm9ybS1lbWFpbCB7XG5cbiAgICAgIH1cbiAgICAgICZfX25ld3NsZXR0ZXItZm9ybS1zdWJtaXQge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcblxuICAgICZfX3NvY2lhbC1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgICAmX19saW5rIHtcblxuICAgICAgfVxuICAgICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuXG4gICAgICB9XG4gICAgJl9fbmV3c2xldHRlci1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAgICZfX25ld3NsZXR0ZXItZm9ybS1lbWFpbCB7XG5cbiAgICAgIH1cbiAgICAgICZfX25ld3NsZXR0ZXItZm9ybS1zdWJtaXQge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyIHtcbiAgJGI6IFwiLmZsby1mb290ZXJcIjtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLyogU1RBUlQ6IElNQUdFIEZFRUQgKi9cbiAgICBAbWl4aW4gaW1hZ2VzKCRzaXplOiByZW0tY2FsYygxMDApLCAkbW9iaWxlX21hcmdpbl9ib3R0b206IHJlbS1jYWxjKDIwKSkge1xuICAgICAgJl9faW1hZ2VzIHtcbiAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG4gICAgICAgICZfX2ltYWdlcyB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgICB3aWR0aDogJHNpemUhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAmX19pbWFnZXMge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtb2JpbGVfbWFyZ2luX2JvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbW9iaWxlX21hcmdpbl9ib3R0b207XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBJTUFHRSBGRUVEICovXG5cbiAgLyogU1RBUlQ6IFNFQVJDSCBGSUVMRCBTVFlMSU5HICovXG4gICAgLndpZGdldF9zZWFyY2ggLnNlYXJjaC1maWVsZHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG4gICAgICAud2lkZ2V0X3NlYXJjaCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gIC8qIEVORDogU0VBUkNIIEZJRUxEIFNUWUxJTkcgKi9cblxuICAvKiBTVEFSVDogQVJFQSAxICovXG4gICAgQGltcG9ydCBcImZsby1mb290ZXItYXJlYS0xLXR5cGUtYVwiO1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jXCI7XG4gICAgQGltcG9ydCBcImZsby1mb290ZXItYXJlYS0xLXR5cGUtZFwiO1xuICAvKiBFTkQ6IEFSRUEgMSAqL1xuXG4gIC8qIFNUQVJUOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWFcIjtcbiAgLyogRU5EOiBDT1BZUklHSFRTIEFSRUEgKi9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBcbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYSB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFcIjtcblxuICBAaW5jbHVkZSBpbWFnZXMocmVtLWNhbGMoMTUyKSk7XG4gICZfX2ltYWdlcyB7XG4gIH1cbiAgICAmX19pbWFnZSB7XG5cbiAgICB9XG4gICZfX3RleHQtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY29udGFpbjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOSk7XG4gICAgICBtYXh3aWR0aDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzYpO1xuICAgIH1cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM5KTtcbiAgICB9XG4gICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgJl9faW1hZ2VzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSArICN7cmVtLWNhbGMoMTgpfSk7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKC05KTtcbiAgICAgICYsXG4gICAgICAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ltYWdlLFxuICAgICAgLmltZy1ibG9ja1xuICAgICAge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICN7cmVtLWNhbGMoMTgpfSkhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDkpO1xuICAgICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDIgMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDEuNTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2xpbmsge1xuXG4gICAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3Mge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX19pbWFnZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAgICZfX2ltYWdlIHtcblxuICAgICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2xpbmsge1xuXG4gICAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3Mge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIge1xuICAkYjogXCIuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iXCI7XG5cbiAgQGluY2x1ZGUgaW1hZ2VzKHJlbS1jYWxjKDkwKSk7XG4gICZfX2xlZnQtYXJlYSB7XG5cbiAgfVxuICAgICZfX2ltYWdlcyB7XG4gICAgfVxuICAgICAgJl9faW1hZ2Uge1xuXG4gICAgICB9XG5cbiAgJl9fbWlkZGxlLWFyZWEge1xuXG4gIH1cbiAgJl9fcmlnaHQtYXJlYSB7XG5cbiAgfVxuXG4gICAgJl9fbGluay1saXN0IHtcbiAgICB9XG4gICAgICAmX19saW5rIHtcbiAgICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1MykgcmVtLWNhbGMoMTAwKTtcblxuICAgICZfX2xlZnQtYXJlYSB7XG4gICAgICB3aWR0aDogMjkuMiU7XG4gICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgfVxuICAgICAgJl9faW1hZ2VzIHtcblxuICAgICAgfVxuICAgICAgICAuaW1nLWJsb2NrLFxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fbWlkZGxlLWFyZWEge1xuICAgICAgd2lkdGg6IDQxLjYlO1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgfVxuICAgICZfX3JpZ2h0LWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDI5LjIlO1xuICAgICAgLy8gcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgfVxuICAgICAgJl9fbGluay1saXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC8vIHdpZHRoOiAkZ2N3ICogMi44O1xuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoLTEwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJi5oaWRlLW1vYmlsZS1pbnN0YWdyYW17XG4gICAgICAjeyRifV9fbGVmdC1hcmVhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNDApICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICZfX2xlZnQtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblxuICAgIH1cbiAgICAgIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIsXG4gICAgICAmX19pbWFnZXMge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgICAgLmltZy1ibG9jayxcbiAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAje3JlbS1jYWxjKDEwKX0pIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICZfX21pZGRsZS1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgJl9fcmlnaHQtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX19saW5rLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMy4yMik7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYyB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNcIjtcblxuICAmX19pbWFnZSB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgfVxuICAmX190ZXh0LWFyZWEge1xuICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI4KTtcbiAgICB9XG4gICAgJl9fYm90dG9tLWxpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDkpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgJl9fcmlnaHQtYXJlYSB7XG5cbiAgfVxuICAgICZfX2xpbmstbGlzdC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNi4yMik7XG4gICAgfVxuICAgICZfX2xpbmstbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMzKTtcbiAgICB9XG4gICAgICAmX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMy4yMik7XG4gICAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgJl9faW1hZ2Uge1xuICAgICAgJHNpemU6IHJlbS1jYWxjKDIyNSk7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fdGV4dCB7XG5cbiAgICAgIH1cbiAgICAgICZfX2JvdHRvbS1saW5rIHtcblxuICAgICAgfVxuICAgICZfX3JpZ2h0LWFyZWEge1xuICAgICAgd2lkdGg6IDI3LjI3JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGggLyAyO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgICAmX19saW5rLWxpc3QtdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rLWxpc3Qge1xuXG4gICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG5cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICZfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcblxuICAgICAgfVxuICAgICAgJl9fYm90dG9tLWxpbmsge1xuXG4gICAgICB9XG4gICAgJl9fcmlnaHQtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX19saW5rLWxpc3QtdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rLWxpc3Qge1xuXG4gICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRcIjtcblxuICBAaW5jbHVkZSBpbWFnZXMoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmX19pbWFnZXMge1xuICB9XG4gICAgJl9faW1hZ2Uge1xuXG4gICAgfVxuICAmX19saW5rIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgcmVtLWNhbGMoMzMpO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTAwKTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG5cbiAgICAmX19pbWFnZXMge1xuICAgICAgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lcntcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICZfX2xpbmsge1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYubW9iaWxlLWhpZGUtd2hvbGUtYmxvY2t7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgJl9faW1hZ2VzLFxuICAgIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICZfX2ltYWdlc3tcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgJl9faW1hZ2UsXG4gICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAje3JlbS1jYWxjKDEwKX0pIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMil7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhIHtcbiAgJGI6IFwiLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhXCI7XG5cbiAgJl9faWNvbi13cmFwIHtcbiAgfVxuICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICB9XG5cbiAgJl9fYmFjay10by10b3Atd3JhcCB7XG4gIH1cbiAgICAmX19iYWNrLXRvLXRvcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19iYWNrLXRvLXRvcC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTAwKSByZW0tY2FsYyg0MikgcmVtLWNhbGMoMTAwKTtcblxuICAgICZfX2ljb24td3JhcCxcbiAgICAmX19iYWNrLXRvLXRvcC13cmFwXG4gICAge1xuICAgICAgd2lkdGg6IDI5LjIlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2ljb24td3JhcCB7XG4gICAgfVxuICAgICZfX2NvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgd2lkdGg6IDQxLjYlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmX19iYWNrLXRvLXRvcC13cmFwIHtcbiAgICB9XG4gICAgICAmX19iYWNrLXRvLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICB9XG4gICAgICAgICZfX2JhY2stdG8tdG9wLWxhYmVsIHtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4gICAgJl9faWNvbi13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKVxuICAgIH1cbiAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fYmFjay10by10b3Atd3JhcCB7XG4gICAgfVxuICAgICAgJl9fYmFjay10by10b3Age1xuICAgICAgfVxuICAgICAgICAmX19iYWNrLXRvLXRvcC1sYWJlbCB7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvIHtcbiAgJGI6IFwiLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvXCI7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1nZW5lcmljLW1lbnUtd3JhcCB7XG4gICRiOiBcIi5mbG8tZ2VuZXJpYy1tZW51LXdyYXBcIjtcblxuICAvKiBTVEFSVDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAgICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTogcmVtLWNhbGMoMzcpO1xuXG4gICAgJl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgei1pbmRleDogMjMxMTIzMTI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIC8vIFN0YXJ0OiBJdGVtXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXIpO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLy8gRW5kOiBJdGVtXG5cbiAgICAgICAgLy8gU3RhcnQ6IDFzdCBsZXZlbCBpdGVtXG4gICAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLy8gRW5kOiAxc3QgbGV2ZWwgaXRlbVxuXG4gICAgICAvLyBTdGFydDogRHJvcGRvd25zXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTguNSkgMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgICAgLy8gU3RhcnQ6IERyb3Bkb3duIEl0ZW1cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYuNSkgcmVtLWNhbGMoMzkpO1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRW5kOiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogU3RhcnQ6IDJuZCBMZXZlbCBEcm9wZG93biAqL1xuICAgICAgICAgICYgPiBsaSAge1xuICAgICAgICAgICAgJGJvdHRvbS1nYXA6ICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTtcbiAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAvLyAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyAgIGhlaWdodDogJGJvdHRvbS1nYXA7XG4gICAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoMSl9KTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIHJlbS1jYWxjKDcpIHJlbS1jYWxjKDYpIHJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgIC8vIEVuZDogRHJvcGRvd25zXG4gICAgfVxuICAvKiBFTkQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbn1cbiIsIi5mbG8tZ2VuZXJpYy1zbGlkZXMge1xuICAkYjogXCIuZmxvLWdlbmVyaWMtc2xpZGVzXCI7XG5cbiAgJl9fc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gICAgJl9fc2xpZGUtY29udGVudCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICB9XG4gICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICYtLWJnaSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJi0taW1nIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgdmlkZW8ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1jcm9wcGVkIHtcbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLW5vLWNyb3Age1xuICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fc2xpZGUge1xuICAgIH1cbiAgICAgICZfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICAgJi0tYmdpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1pbWcge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8ge1xuICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tY3JvcHBlZCB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLW5vLWNyb3Age1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJi0taW1hZ2UtdHlwZS1iZ2kge1xuXG4gICAgICAjeyRifV9fc2xpZGUtY29udGVudCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fc2xpZGUge1xuICAgIH1cbiAgICAgICZfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICAgJi0tYmdpIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0taW1nIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWNyb3BwZWQge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1uby1jcm9wIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1tb2JpbGUtbWVudXtcbiAgJGI6ICcuZmxvLW1vYmlsZS1tZW51JztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogODQlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gICAgJl9fdG9wLWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM0LjF2dztcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ5KTtcbiAgICB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgICAmX19jbG9zZSB7XG4gICAgICB9XG4gIC8qIEVORDogVE9QIEFSRUEgKi9cblxuICAvKiBTVEFSVDogTUVOVSAqL1xuICAgICZfX21lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjQpIWltcG9ydGFudDtcblxuICAgICAgYSB7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgICAvKiBTVEFSVDogRklSU1QgTEVWRUwgSVRFTSAqL1xuICAgICAgICAmX19tZW51ID4gbGkge1xuICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgLyogRU5EOiBGSVJTVCBMRVZFTCBJVEVNICovXG5cbiAgICAgIC8qIFNUQVJUOiBEUk9QRE9XTiAqL1xuICAgICAgICAmX19tZW51ID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogRFJPUERPV04gKi9cblxuICAgICAgLyogU1RBUlQ6IERST1BET1dOIFRPR0dMSU5HICovXG4gICAgICAgICZfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICRzaXplOiByZW0tY2FsYyg1NSk7XG4gICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19tZW51IGxpLmNoaWxkcmVuLXZpc2libGUge1xuICAgICAgICAgICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSBpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogRFJPUERPV04gVE9HR0xJTkcgKi9cblxuICAvKiBFTkQ6IE1FTlUgKi9cblxuICAvKiBTVEFSVDogQk9UVE9NIEFSRUEgKi9cbiAgICAmX19ib3R0b20tYXJlYSB7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgfVxuICAgICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xuXG4gICAgICAgICYgYSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NvcHlyaWdodC1hcmVhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMmVtIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmX19jb3B5cmlnaHQtZmxvLWxvZ28ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG4gIC8qIEVORDogQk9UVE9NIEFSRUEgKi9cblxuXG4gIC8qIFNUQVJUOiBWSVNJQklMSVRZICovXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1vcGVuZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBodG1sLFxuICAgICAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1jbG9zZWQge1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICB9XG4gIC8qIEVORDogVklTSUJJTElUWSAqL1xuXG59XG4iLCIuZmxvLWhlYWRlci1tb2JpbGV7XG4gICRiOiBcIi5mbG8taGVhZGVyLW1vYmlsZVwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgei1pbmRleDogMTExO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIG9wYWNpdHksIHBhZGRpbmcpO1xuXG4gIC8qIFNUQVJUOiBTUEFDRVIgKi9cbiAgICAmX19zcGFjZXIge1xuICAgICAgd2lkdGg6IDE1JTtcbiAgICB9XG4gIC8qIEVORDogU1BBQ0VSICovXG5cbiAgLyogU1RBUlQ6IE1FTlUgVFJJR0dFUiAqL1xuICAgICZfX21lbnUtdHJpZ2dlciB7XG4gICAgICB3aWR0aDogMTUlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAvKiBFTkQ6IE1FTlUgVFJJR0dFUiAqL1xuXG4gIC8qIFNUQVJUOiBMT0dPICovXG4gICAgJl9fbG9nb3tcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuXG4gICAgICAmLS1saWdodCB7XG4gICAgICAgICN7JGJ9X19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2xvZ28taW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgJi0tc3RpY2t5LFxuICAgICAgICAmLS1saWdodFxuICAgICAgICB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogTE9HTyAqL1xuXG4gIC8qIFNUQVJUOiBISURFIE9OIERFU0tUT1AgKi9cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlcntcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IEhJREUgT04gREVTS1RPUCAqL1xuXG4gIC8qIFNUQVJUOiBNT0JJTEUgTE9HTyAqL1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IHtcbiAgICAgICAgLmZsby1oZWFkZXItYW5kLWZsby1wYWdlLWhlcm8gPiBoZWFkZXIgPiAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLFxuICAgICAgICAuZmxvLWhlYWRlci1hbmQtZmxvLXBhZ2UtaGVybyAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2Uge1xuICAgICAgICAgICYtLWRlZmF1bHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbGlnaHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kge1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkIWltcG9ydGFudDtcbiAgICAgICAgICBib3R0b206IGF1dG8haW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgLnN0aWNreS1jb250YWluZXJ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogTU9CSUxFIExPR08gKi9cblxuICAvKiBTVEFSVDogU1RJQ0tZICovXG4gICAgQGF0LXJvb3Qge1xuXG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICAjeyRifS5pcy1tYWluIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLXN0aWNreSB7XG4gICAgICAgICAgI3skYn0uaXMtbWFpbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQhaW1wb3J0YW50O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gICAgICAgICAgICAjeyRifV9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgICAgICYtLWRlZmF1bHQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi0tbGlnaHQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi0tc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuICAvKiBFTkQ6IFNUSUNLWSAqL1xuXG59XG4iLCIuZmxvLWhlYWRlciB7XG4gICRiOiBcIi5mbG8taGVhZGVyXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuXG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIHBhZGRpbmcpO1xuXG4gIC8qIFNUQVJUOiBIRUFERVIgQ09NTU9OIEVMRU1FTlRTICovXG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX21lbnVcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlcl9fbG9nb1wiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyX19zb2NpYWwtbGlua3NcIjtcbiAgLyogRU5EOiBIRUFERVIgQ09NTU9OIEVMRU1FTlRTICovXG5cbiAgLyogU1RBUlQ6IEhFQURFUiBUWVBFUyAqL1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLXR5cGUtYVwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLXR5cGUtYlwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLXR5cGUtY1wiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLXR5cGUtZC1vci1lXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItdHlwZS1mLW9yLWdcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci10eXBlLWgtb3ItaVwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLXR5cGUtalwiO1xuICAvKiBFTkQ6IEhFQURFUiBUWVBFUyAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuKiB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyogU1RBUlQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG4gIC5mbG8taGVhZGVyLS1zdGlja3kge1xuICAgIC5zdGlja3ktd3JhcHBlciB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuXG4gICAgICAmLmlzLXN0aWNreSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAmX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xvZ28taW1hZ2UtLXN0aWNreSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuLyogRU5EOiBTVElDS1kgSEVBREVSIFNUWUxFUyAqL1xuXG4uZmxvLWJsb2NrLS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbiIsIi8qIFNUQVJUOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovXG4gIC8vICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTogcmVtLWNhbGMoMzcpO1xuICAkZ2FwLXVuZGVyLWZpcnN0LWxldmVsLWl0ZW06IHJlbS1jYWxjKDIzKTtcblxuXG4gICZfX21lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAmLS1vcGVuIHtcbiAgICAgICAgI3skYn1fX3NlYXJjaC10cmlnZ2VyLWljb24ge1xuICAgICAgICAgICYtLW9wZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tY2xvc2Uge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC10cmlnZ2VyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zZWFyY2gtdHJpZ2dlci1pY29uIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgICYtLW9wZW4ge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgI3tyZW0tY2FsYygxMCl9KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3NlYXJjaC1mb3JtLWlucHV0IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTguNSkhaW1wb3J0YW50O1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19zZWFyY2gtZm9ybS1zdWJtaXQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoMTguNSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG5cbiAgICAmID4gZGl2ID4gdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHotaW5kZXg6IDIzMTEyMzEyO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC8vIFN0YXJ0OiBJdGVtXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlcik7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAvLyBFbmQ6IEl0ZW1cblxuICAgICAgLy8gU3RhcnQ6IDFzdCBsZXZlbCBpdGVtXG4gICAgICAgICN7JGJ9X19tZW51LWl0ZW1zID4gLm1lbnUtaXRlbSB7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAgICYgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDgpfSk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW0tY2FsYygxMSl9KTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAvLyBFbmQ6IDFzdCBsZXZlbCBpdGVtXG5cbiAgICAvLyBTdGFydDogRHJvcGRvd25zXG4gICAgICBsaSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMykgMDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgLy8gU3RhcnQ6IERyb3Bkb3duIEl0ZW1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDApIHJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgICAgICAgICAgICYuY3VycmVudC1tZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgJiA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8vIEVuZDogRHJvcGRvd24gSXRlbVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkgIHtcbiAgICAgICAgICAkYm90dG9tLWdhcDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgIC8vICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgLy8gICBsZWZ0OiAwO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC8vICAgaGVpZ2h0OiAkYm90dG9tLWdhcDtcbiAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVuZDogMm5kIExldmVsIERyb3Bkb3duICovXG4gICAgLy8gRW5kOiBEcm9wZG93bnNcbiAgfVxuLyogRU5EOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovXG4iLCImX19sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJi0taXMtbGlnaHQge1xuICAgICN7JGJ9X19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICN7JGJ9X19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgJi1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAmLS1zdGlja3ksXG4gICAgJi0tbGlnaHRcbiAgICB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICB9XG59XG4iLCIjeyRifV9fc29jaWFsLWxpbmtzIHtcbiAgYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgbWFyZ2luOiByZW0tY2FsYyg0KTtcbiAgfVxufVxuIiwiJi0tdHlwZS1hIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLy8gYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcblxuXG4gICN7JGJ9X19sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1Mik7XG4gIH1cbiAgI3skYn1fX21lbnUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIzKTtcbiAgfVxuICAgICN7JGJ9X19tZW51LWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICYgPiAubWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gNDtcbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICN7JGJ9X19zb2NpYWwtbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNDcgLyAyKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiJi0tdHlwZS1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgJHNpZGUtYXJlYXMtaGVpZ2h0OiByZW0tY2FsYygxNTMpO1xuXG5cbiAgI3skYn1fX2xlZnQtYXJlYSxcbiAgI3skYn1fX3JpZ2h0LWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDEuNTtcbiAgICBoZWlnaHQ6ICRzaWRlLWFyZWFzLWhlaWdodDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICN7JGJ9X19sZWZ0LWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB9XG4gICAgI3skYn1fX3RhZ2xpbmUtMiB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fdGFnbGluZS0yLXByZXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICB9XG4gICAgICAjeyRifV9fdGFnbGluZS0yLXRpdGxlIHtcblxuICAgICAgfVxuICAjeyRifV9fbWlkZGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgfVxuICAgICN7JGJ9X19sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM3KTtcbiAgICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMykgMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICN7JGJ9X19tZW51LXdyYXB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAgICN7JGJ9X19tZW51LWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICYgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICAvLyBtYXJnaW46IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggLyA0O1xuICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgI3skYn1fX3JpZ2h0LWFyZWEge1xuICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGggLyAzO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB9XG4gICAgI3skYn1fX3RhZ2xpbmUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufVxuIiwiJi0tdHlwZS1jIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDM5KSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICN7JGJ9X19tZW51IHtcbiAgICAkZ2FwOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgJi0tbGVmdCwgJi0tcmlnaHR7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLS1sZWZ0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICAjeyRifV9fbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwXG4gICAgICB9XG4gICAgICAmID4gZGl2ID4gdWx7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybXtcbiAgICAgICAgICByaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWlucHV0e1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI3skYn1fX21lbnUtaXRlbXMgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwXG4gICAgICB9XG4gICAgICAmID4gZGl2ID4gdWx7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiYtLXR5cGUtZC1vci1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygzOSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB3aWR0aDogMTAwJTtcblxuICAjeyRifV9fbG9nby1hbmQtdGFnbGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICAgI3skYn1fX2xvZ28ge1xuXG4gICAgfVxuICAgICN7JGJ9X19zZXBhcmF0b3Ige1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDM0KTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgfVxuICAgICN7JGJ9X190YWdsaW5lIHtcblxuICAgIH1cbiAgI3skYn1fX21lbnUge1xuICAgIHdpZHRoOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDY7XG4gIH1cbiAgICAjeyRifV9fbWVudS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbn1cblxuQGF0LXJvb3Qge1xuICBoZWFkZXJbZGF0YS1sYXlvdXQ9XCJmbG8taGVhZGVyLS1sYXlvdXQtdHlwZS1kXCJdIHtcbiAgICAjeyRifV9fbWVudS1pdGVtcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAmID4gLm1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGhlYWRlcltkYXRhLWxheW91dD1cImZsby1oZWFkZXItLWxheW91dC10eXBlLWVcIl0ge1xuICAgICN7JGJ9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudS1pdGVtcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAmID4gLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiJi0tdHlwZS1mLW9yLWcge1xuICBwYWRkaW5nOiByZW0tY2FsYygzOSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB3aWR0aDogMTAwJTtcblxuICAjeyRifV9fdG9wLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDcpO1xuICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG5cbiAgICB9XG4gICAgI3skYn1fX2xvZ28ge1xuXG4gICAgfVxuXG4gICN7JGJ9X19ib3R0b20tYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gIH1cbiAgICAjeyRifV9fbWVudSB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fbWVudS1pdGVtcyB7XG4gICAgICAgICYgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICN7JGJ9X190YWdsaW5lIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG59XG5cbkBhdC1yb290IHtcbiAgaGVhZGVyW2RhdGEtbGF5b3V0PVwiZmxvLWhlYWRlci0tbGF5b3V0LXR5cGUtZ1wiXSB7XG4gICAgI3skYn1fX3RvcC1hcmVhIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gIH1cbn1cbiIsIiYtLXR5cGUtaC1vci1pIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygzOSkgcmVtLWNhbGMoMTAwKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgI3skYn1fX2xvZ28ge1xuXG4gIH1cbiAgI3skYn1fX21lbnUtYW5kLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAgICN7JGJ9X19tZW51IHtcblxuICAgIH1cbiAgICAjeyRifV9fZmVhdHVyZWQtbGluayB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMS41KSByZW0tY2FsYygyMyk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbkBhdC1yb290IHtcbiAgaGVhZGVyW2RhdGEtbGF5b3V0PVwiZmxvLWhlYWRlci0tbGF5b3V0LXR5cGUtaFwiXSB7XG4gICAgI3skYn1fX21lbnUtaXRlbXMge1xuICAgICAgJiA+IC5tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNjkpO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRifV9fZmVhdHVyZWQtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNzcpO1xuICAgIH1cbiAgfVxuICBoZWFkZXJbZGF0YS1sYXlvdXQ9XCJmbG8taGVhZGVyLS1sYXlvdXQtdHlwZS1pXCJdIHtcbiAgICAjeyRifSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICAgICN7JGJ9X19tZW51LWl0ZW1zIHtcbiAgICAgICYgPiAubWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg2OSk7XG4gICAgICB9XG4gICAgfVxuICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNzcpO1xuICAgIH1cbiAgfVxufVxuIiwiJi0tdHlwZS1qIHtcbiAgJHBvcHVwX21lbnVfdHJpZ2dlcl92ZXJ0aWNhbF9wYWRkaW5nOiByZW0tY2FsYygzMyk7XG4gICRwb3B1cF9tZW51X3RyaWdnZXJfaG9yaXpvbnRhbF9wYWRkaW5nOiByZW0tY2FsYyg0NSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDkxKSAtICRwb3B1cF9tZW51X3RyaWdnZXJfdmVydGljYWxfcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMDApO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICN7JGJ9X19wb3B1cC1tZW51LXRvcC13cmFwIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gICAgI3skYn1fX3BvcHVwLW1lbnUtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICYtLW9wZW4ge1xuICAgICAgICAjeyRifV9fcG9wdXAtbWVudS10cmlnZ2VyLWljb24ge1xuICAgICAgICAgICYtLW9wZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tY2xvc2Uge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3BvcHVwLW1lbnUtdHJpZ2dlci1sYWJlbCB7XG4gICAgICAgICAgJi0tb3BlbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1jbG9zZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fcG9wdXAtbWVudSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgICN7JGJ9X19wb3B1cC1tZW51LXRyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxNzQpO1xuICAgICAgICBwYWRkaW5nOiAkcG9wdXBfbWVudV90cmlnZ2VyX3ZlcnRpY2FsX3BhZGRpbmcgJHBvcHVwX21lbnVfdHJpZ2dlcl9ob3Jpem9udGFsX3BhZGRpbmc7XG5cbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3BvcHVwLW1lbnUtdHJpZ2dlci1pY29uLXdyYXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19wb3B1cC1tZW51LXRyaWdnZXItaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgICAgJi0tb3BlbiB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICN7JGJ9X19wb3B1cC1tZW51LXRyaWdnZXItbGFiZWwtd3JhcCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3BvcHVwLW1lbnUtdHJpZ2dlci1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgICAgJi0tb3BlbiB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICN7JGJ9X19wb3B1cC1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHBvcHVwX21lbnVfdHJpZ2dlcl92ZXJ0aWNhbF9wYWRkaW5nfSk7XG4gICAgICAgIC8vIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkcG9wdXBfbWVudV90cmlnZ2VyX3ZlcnRpY2FsX3BhZGRpbmc7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiAxMDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1Nyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgICAgICAjeyRifV9fcG9wdXAtbWVudS1pdGVtcyB7XG4gICAgICAgICAgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUuNSk7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExKSAkcG9wdXBfbWVudV90cmlnZ2VyX2hvcml6b250YWxfcGFkZGluZztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDEzKX0pO1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMykgMDtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE3NCk7XG4gICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTEpIHJlbS1jYWxjKDIzKTtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICN7JGJ9X19sb2dvIHtcblxuICB9XG5cbiAgI3skYn1fX21lbnUtYXJlYSB7XG4gICAgd2lkdGg6IGNhbGMoMzAlIC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDJ9KTtcbiAgfVxuICAgICN7JGJ9X19tZW51IHtcblxuICAgIH1cbiAgICAgICN7JGJ9X19tZW51LWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI5LjUpO1xuICAgICAgICB9XG4gICAgICB9XG59XG4iLCIuZmxvX3BhZ2Vfd3JhcHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2ZsZXgtd3JhcDogd3JhcDtcbiAgJi0tcGFkZGluZy10b3AtbGFyZ2V7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1MCk7XG4gIH1cbn1cblxuLmZsb19wYWdlIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIi5mbG8tcG9zdC13cmFwIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8vIG1heC13aWR0aDogJGNvbnRlbnQtbWVkaXVtLXdpZHRoO1xufVxuXG4uZmxvLXBvc3QtLW5vdC1mb3VuZCB7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG59XG5cbi5mbG8tcG9zdCwgLmZsby1wb3N0X19zdHlsZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cblxuICBwe1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cblxuICBibG9ja3F1b3Rle1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBwe1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cbiAgaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgcGFkZGluZy1ib3R0b206ICByZW0tY2FsYygyNCk7XG4gIH1cblxuXG4gICAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDMuMCBBbGlnbm1lbnRzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAuYWxpZ25sZWZ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgfVxuXG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgfVxuXG4gIC5hbGlnbmNlbnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICA4LjAgTGlzdHNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICB9XG5cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gIH1cblxuICBsaSA+IHVsLFxuICBsaSA+IG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgfVxuXG4gIGR0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMCAxLjVlbSAxLjVlbTtcbiAgfVxuXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMTYuMCBNZWRpYVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgaGVpZ2h0OiBhdXRvOyAvKiBNYWtlIHN1cmUgaW1hZ2VzIGFyZSBzY2FsZWQgY29ycmVjdGx5LiAqL1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogQWRoZXJlIHRvIGNvbnRhaW5lciB3aWR0aC4gKi9cbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG5cbiAgLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKiBNYWtlIHN1cmUgZW1iZWRzIGFuZCBpZnJhbWVzIGZpdCB0aGVpciBjb250YWluZXJzLiAqL1xuXG4gIGVtYmVkLFxuICBpZnJhbWUsXG4gIG9iamVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLndwLWNhcHRpb24sXG4gIC53cC1jYXB0aW9uIGEsXG4gIC5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtc2l6ZTogMC42MTI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgfVxuXG4gIC53cC1jYXB0aW9uIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQsIC53cC1jYXB0aW9uLXRleHQgYSB7XG4gICAgbWFyZ2luOiAwLjgwNzVlbSAwO1xuICB9XG4gIC53cC1jYXB0aW9uIHB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8qIE1lZGlhIEVsZW1lbnRzICovXG5cbiAgLm1lanMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAgcmVtLWNhbGMoNSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogQXVkaW8gUGxheWVyICovXG5cbiAgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcixcbiAgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpmb2N1cyxcbiAgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAxNi4xIEdhbGxlcmllc1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgLmdhbGxlcnktaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgICBwYWRkaW5nOiAwIDFlbSAwIDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhe1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmdhbGxlcnktaXRlbSBhLFxuICAuZ2FsbGVyeS1pdGVtIGE6aG92ZXIsXG4gIC5nYWxsZXJ5LWl0ZW0gYTpmb2N1cyB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdhbGxlcnktaXRlbSBhIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC1maWx0ZXIgMC4ycyBlYXNlLWluO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1pbiwgLXdlYmtpdC1maWx0ZXIgMC4ycyBlYXNlLWluO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC5nYWxsZXJ5LWl0ZW0gYTpob3ZlciBpbWcsXG4gIC5nYWxsZXJ5LWl0ZW0gYTpmb2N1cyBpbWcge1xuICAgIC13ZWJraXQtZmlsdGVyOiBvcGFjaXR5KDYwJSk7XG4gICAgZmlsdGVyOiBvcGFjaXR5KDYwJSk7XG4gIH1cblxuICAuZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8qIHNwYWNpbmcgYmVsb3cgaW1hZ2UgKi9cbiAgYSBpbWcsIGltZywgaW1nLmFsaWdubGVmdCwgaW1nLmFsaWducmlnaHQsIGltZy5hbGlnbmNlbnRlcntcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC8qIEdhbGxlcnkgQ29sdW1ucyAqL1xuICAgIC8vcCB7XG4gICAgLy8gIHBhZGRpbmc6IDAgcmVtLWNhbGMoOTUpO1xuICAgIC8vfVxuICAgIC8vaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgLy8gIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoOTUpO1xuICAgIC8vICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg5NSk7XG4gICAgLy99XG5cbiAgICAgIC8vIGZpZ2h0aW5nIHRoZSBzcGFjZSBiZXR3ZWVuIGRpc3BsYXkgaW5saW5lIGVsZW1lbnRzXG4gICAgICBkaXYuZ2FsbGVyeXtcbiAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICB9XG4gICAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMlO1xuICAgICAgfVxuXG4gICAgICAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNi42NiU7XG4gICAgICB9XG4gICAgICAuZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTQuMjg1JTtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMS4xMTElO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgfVxufVxuXG4ucG9zdC1wYXNzd29yZC1mb3Jte1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl17XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktbGlnaHQhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuIiwiLmZsby1yZWxhdGVkLWl0ZW1zIHtcbiAgJGI6IFwiLmZsby1yZWxhdGVkLWl0ZW1zXCI7XG5cbiAgJl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMzKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gIH1cbiAgJl9faXRlbXMge1xuXG4gIH1cbiAgICAmX19pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAgICZfX2l0ZW0taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICAgJl9faXRlbS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX3RpdGxlIHtcblxuICAgICAgJjphZnRlciB7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogNztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAjeyRifV9faXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0taW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIxLjUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9fdGl0bGUge1xuXG4gICAgICAmOmFmdGVyIHtcblxuICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtcyB7XG5cbiAgICB9XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgICAgICAmX19pdGVtLWltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10aXRsZSB7XG5cbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLXJldmVhbCB7XG4gICRiOiBcIi5mbG8tcmV2ZWFsXCI7XG5cbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJi0tdmlzaWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWxcbiAgfVxuXG4gICYtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAvLyBTdGFydDogQXBwZWFyL0Rpc2FwcGVhclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC8vIFN0YXJ0OiBEZWZhdWx0c1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIC8vIEVuZDogRGVmYXVsdHNcblxuICAgIC8vIFN0YXJ0OiBSZWFkeSBmb3IgdHJhbnNpdGlvblxuICAgICAgJi0tcmVhZHkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgfVxuICAgIC8vIEVuZDogUmVhZHkgZm9yIHRyYW5zdGlvblxuXG4gICAgLy8gU3RhcnQ6IFRyYW5zaXRpb24gaW5pdGlhbCBwb3NpdGlvblxuICAgICAgJltkYXRhLWluaXRpYWwtcG9zaXRpb249XCJsZWZ0XCJdIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICYjeyRifS0tdmlzaWJsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwicmlnaHRcIl0ge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAmI3skYn0tLXZpc2libGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLy8gRW5kOiBUcmFuc2l0aW9uIGluaXRpYWwgcG9zaXRpb25cblxuICAgICYtb3ZlcmxheSB7XG4gICAgICAmOm5vdCgjeyRifS1vdmVybGF5LS12aXNpYmxlKXtcbiAgICAgICAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgfVxuXG4gIC8vIEVuZDogQXBwZWFyL0Rpc2FwcGVhclxuXG4gIC8vIFN0YXJ0OiBaLUluZGV4IE1hcFxuICAgIHotaW5kZXg6IDEwMDAwMDE7XG5cbiAgICAmLW92ZXJsYXkge1xuICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cbiAgLy8gU3RhcnQ6IFotSW5kZXggTWFwXG59XG4iLCIuZmxvLXNsaWRlc2hvdyB7XG4gICRiOiBcIi5mbG8tc2xpZGVzaG93XCI7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcblxuICBAaW1wb3J0IFwiZmxvLXNsaWRlc2hvd19fc2xpZGVzXCI7XG5cbiAgJl9fbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGltcG9ydCBcImZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hXCI7XG4gIEBpbXBvcnQgXCJmbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYlwiO1xuICBAaW1wb3J0IFwiZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWNcIjtcblxuICAvKiBTVEFSVDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG4gICAgJi0tb25lLXNsaWRlIHtcbiAgICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgICAjeyRifV9fY291bnRlcixcbiAgICAgICN7JGJ9X19hcnJvdy1uZXh0LFxuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yc1xuICAgICAge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG5cbiAgLyogU1RBUlQ6IENPVU5URVIgKi9cbiAgICAmX19jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICAgJl9fY291bnRlci1pbmRleCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJl9fY291bnRlci1zZXBhcmF0b3IsXG4gICAgICAmX19jb3VudGVyLWNvdW50IHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgICAgJl9fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDQpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2NvdW50ZXItY291bnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmX19jb3VudGVyIHtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoNTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgJl9fY291bnRlciB7XG4gICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogQ09VTlRFUiAqL1xuXG4gIC8qIFNUQVJUOiBUSVRMRSBBUkVBICovXG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTAlO1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS1wcmV0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMuMSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm90dG9tOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBUSVRMRSBBUkVBICovXG5cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAmX19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmstdGl0bGUtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICAgICZfX2ZlYXR1cmVkLWxpbmstcHJldGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtbGluay10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgJl9fZmVhdHVyZWQtbGluay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgICRzaXplOiByZW0tY2FsYygxMTcuNSk7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxMi41KSBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmstZGl2aWRlciB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgJl9fZmVhdHVyZWQtbGluayB7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAmX19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG5cbiAgICAgICAgJi5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWEge1xuICAgICAgICAgIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcblxuICAgICAgICAmLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYSB7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kuaXMtbWFpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCImLS1vbmUtc2xpZGUge1xuICAuc2xpY2stbGlzdFxuICAvLyAuc2xpY2stdHJhY2tcbiAgLy8gLnNsaWNrLXNsaWRlLFxuICAvLyAjeyRifV9fc2xpZGUtY29udGVudFxuICB7XG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgfVxufVxuJl9fc2xpZGVzIHtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLnNsaWNrLWxpc3QsXG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLXNsaWRlLFxuICAjeyRifV9fc2xpZGUtY29udGVudFxuICB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbiN7JGJ9X19zbGlkZXMge1xufVxuI3skYn1fX3NsaWRlLWltZy0tYmdpIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3Zlcjtcbn1cbiN7JGJ9X19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbiN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIEBhdC1yb290IHtcbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3skYn1fX3NsaWRlLWltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICYtLWltZyB7XG5cbiAgfVxuICAmLS1iZ2kge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuI3skYn1fX3NsaWRlLWJhY2tncm91bmQtdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICB9XG4gICYtLWNyb3BwZWQge1xuICAgIHZpZGVvIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJi0tbm8tY3JvcCB7XG4gICAgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICN7JGJ9X19zbGlkZXMge1xuXG4gIH1cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8tYmxvY2sge1xuXG4gICAgfVxuXG4gIH1cbiAgI3skYn1fX3NsaWRlIHtcblxuICAgICYuZ3JhZGllbnQtdmlzaWJsZSB7XG4gICAgICAjeyRifV9fc2xpZGUtaW1nIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC42NjY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuXG4gICAgfVxuXG4gICAgI3skYn1fX3NsaWRlLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgfVxuXG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICN7JGJ9X19zbGlkZXMge1xuXG4gIH1cbiAgI3skYn1fX3NsaWRlIHtcblxuICB9XG4gICN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICAgICN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN7JGJ9X19zbGlkZS1pbWcge1xuICAgICYtLWJnaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIiZfX2xheW91dC0tdHlwZS1hIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICN7JGJ9X190aXRsZS1hcmVhLFxuICAgIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRifV9fc2xpZGVzIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUtaW1nIHtcblxuICAgICAgfVxuXG4gICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgbGVmdDogcmVtLWNhbGMoOTcpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygzMzEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgfVxuXG4gICAgI3skYn1fX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgICBsZWZ0OiByZW0tY2FsYyg3Myk7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDczKTtcbiAgICB9XG4gICAgICAjeyRifV9fZmVhdHVyZWQtbGluay10aXRsZS1hcmVhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICN7JGJ9X19hcnJvdy1uZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skYn1fX2Fycm93LW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gYm90dG9tOiByZW0tY2FsYygzMzEpO1xuICAgICAgLy8gcmlnaHQ6IHJlbS1jYWxjKDEzMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgb3BhY2l0eSwgdHJhbnNmb3JtKTtcblxuICAgICAgJi5pbnZlcnRlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICB9XG5cbn1cbiIsIkBhdC1yb290IHtcbiAgI3skYn0tYmxvY2stLXR5cGUtYiB7XG4gICAgJi5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciAuZmxvLWJsb2NrX19oZWFkZXIge1xuICAgIH1cbiAgfVxufVxuXG4mX19sYXlvdXQtLXR5cGUtYiB7XG5cbiAgI3skYn1fX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgI3skYn1fX2Fycm93cyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcbiAgfVxuICAgICN7JGJ9X19hcnJvdyB7XG4gICAgICAmLS1uZXh0IHtcblxuICAgICAgfVxuICAgICAgJi0tcHJldiB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgI3skYn1fX3NsaWRlcyB7XG5cbiAgfVxuICAgICN7JGJ9X19zbGlkZSB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUtbWFpbi13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICN7JGJ9X19iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7JGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsfSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRifV9fYXJyb3dzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vIHJpZ2h0OiByZW0tY2FsYygxNjUpO1xuICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArICRnbG9iYWwtY29sdW1uLXdpZHRoICogMjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdG9wOiByZW0tY2FsYygzNzEpO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgICAgI3skYn1fX2Fycm93IHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgICB9XG4gICAgICAgICYtLXByZXYge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUge1xuXG4gICAgICAgICY6bm90KC5zbGljay1jdXJyZW50KSB7XG4gICAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDg1KX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JhZGllbnQtdmlzaWJsZSB7XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTA5MCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyIC0gJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtaW1hZ2Utd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhIHtcbiAgICAgICAgICAgIGJvdHRvbTogJGdsb2JhbC1jb2x1bW4td2lkdGggLSByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAtIHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhLXByZXRpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgI3skYn1fX2NvdW50ZXIge1xuICAgICAgbGVmdDogcmVtLWNhbGMoMTEwNSk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDEwNSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAgICN7JGJ9X19jb3VudGVyLWluZGV4IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgICAjeyRifV9fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19jb3VudGVyLWNvdW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgI3skYn1fX3NwYWNlciB7XG5cbiAgICB9XG4gICAgI3skYn1fX2Fycm93cyB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1wcmV2IHtcblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAjeyRifV9fYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjeyRifV9fY291bnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgfVxuXG59XG4iLCJAYXQtcm9vdCB7XG4gIC5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWMge1xuICAgICYuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIgLmZsby1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAxIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuJl9fbGF5b3V0LS10eXBlLWMge1xuXG4gIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgfVxuICAgICAgI3skYn1fX3RvcC1hcmVhLWxvZ28ge1xuICAgICAgICAuZmxvLWhlYWRlci1sb2dvIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X190b3AtYXJlYS1zb2NpYWwtbGlua3Mge1xuICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogVE9QIEFSRUEgKi9cblxuICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgI3skYn1fX3NsaWRlcyB7XG5cbiAgICB9XG4gIC8qIEVORDogU0xJREVTICovXG5cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAjeyRifV9fZmVhdHVyZWQtbGluayB7XG5cbiAgICB9XG4gIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuXG4gIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICN7JGJ9X19zbGlkZS1zZWxlY3RvcnMge1xuXG4gICAgfVxuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yIHtcblxuICAgICAgfVxuICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cblxuICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgfVxuICAgICAgI3skYn1fX3JpZ2h0LWJhci1zZWFyY2gtdHJpZ2dlciB7XG5cbiAgICAgIH1cbiAgICAgICN7JGJ9X19yaWdodC1iYXItbGluayB7XG5cbiAgICAgIH1cbiAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcblxuICAgICAgfVxuICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJHJpZ2h0LWJhci13aWR0aDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICRzbGlkZS1zZWxlY3RvcnMtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG5cbiAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skcmlnaHQtYmFyLXdpZHRofSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgJGdsb2JhbC1jb2x1bW4td2lkdGggMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1sb2dvIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1zb2NpYWwtbGlua3Mge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuXG4gICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgI3skYn1fX3NsaWRlcyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skcmlnaHQtYmFyLXdpZHRofSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JHNsaWRlLXNlbGVjdG9ycy1oZWlnaHR9KTtcbiAgICAgIH1cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuXG4gICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygxOTMpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovXG5cbiAgICAvKiBTVEFSVDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICRzbGlkZS1zZWxlY3Rvci1nYXA6IHJlbS1jYWxjKDEyMik7XG4gICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRyaWdodC1iYXItd2lkdGh9KTtcbiAgICAgICAgaGVpZ2h0OiAkc2xpZGUtc2VsZWN0b3JzLWhlaWdodDtcblxuICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzbGlkZS1zZWxlY3Rvci1nYXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3RvciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQsXG4gICAgICAgICAgJjpob3ZlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTApfSk7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNsaWRlLXNlbGVjdG9yLWdhcDtcbiAgICAgICAgICAgIGhlaWdodDogJHNsaWRlLXNlbGVjdG9ycy1oZWlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDM3KX0pO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBjb2xvcik7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjMuNSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXNlY29uZC1wcmV0aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuXG4gICAgICAgICAgICB9XG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuXG4gICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNik7XG5cbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIHtcbiAgICAgICAgICAjeyRifV9fcmlnaHQtYmFyIHtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyB6LWluZGV4OiAxMDk5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAkcmlnaHQtYmFyLXdpZHRoO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItc2VhcmNoLXRyaWdnZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3JpZ2h0LWJhci1saW5rIHtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHRiLXJsO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgICB9XG5cbiAgICAgIC8qIFNUQVJUOiBIRUFERVIgUE9QVVAgU1RZTEUgKi9cbiAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMge1xuXG4gICAgICAgICAgICAuZmxvLWhlYWRlci1wb3B1cCB7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmX19tYWluLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdHJldGNoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodC1iYXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHJpZ2h0LWJhci1wYWRkaW5nLXRvcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fdG9wLWJhciB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206ICRyaWdodC1iYXItcGFkZGluZy1ib3R0b207XG4gICAgICAgICAgICAgICAgICByaWdodDogJHJpZ2h0LWJhci1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJl9fY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNTUpO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3NlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3NlYXJjaC1zdWJtaXQge1xuXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNTB2aDtcblxuICAgICAgICAgICAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAkcmlnaHQtYmFyLXBhZGRpbmctYm90dG9tO1xuICAgICAgICAgICAgICAgICAgLy8gcmlnaHQ6ICRyaWdodC1iYXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogSEVBREVSIFBPUFVQIFNUWUxFICovXG5cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1sb2dvIHtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fdG9wLWFyZWEtc29jaWFsLWxpbmtzIHtcblxuICAgICAgICB9XG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuXG4gICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgI3skYn1fX3NsaWRlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuXG4gICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cblxuICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9ycyB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuXG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocmVtLWNhbGMoMjApKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoNDApfSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcblxuICAgICAgICAgICYuc2xpY2stY3VycmVudFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci13cmFwOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoNDApfSk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDEwKX0pO1xuXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzcpfSk7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzLjUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuXG4gICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItc2VhcmNoLXRyaWdnZXIge1xuXG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3JpZ2h0LWJhci1saW5rIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcblxuICAgICAgICB9XG5cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuICB9XG5cbn1cbiIsIi5mbG8tc3BsYXNoIHtcbiAgJGI6IFwiLmZsby1zcGxhc2hcIjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cbiAgei1pbmRleDogMTAwMDAwMDAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICYtLW1lZGl1bS11cCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAmLS1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICYtLW1lZGl1bS11cCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tdGV4dC1jb250ZW50IHtcbiAgJGI6IFwiLmZsby10ZXh0LWNvbnRlbnRcIjtcblxuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAwO1xuXG59XG4iLCIuZmxvLWhlcm8tdmlkZW8tZW1iZWQge1xuICAkYjogXCIuZmxvLWhlcm8tdmlkZW8tZW1iZWRcIjtcblxuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCVcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDQwKTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICRzaXplOiByZW0tY2FsYyg2NSk7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgZm9udC1zaXplOiAkc2l6ZSAvIDEuNjEgLyAxLjYxIC8gMS42MTtcblxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogaW5pdGlhbDtcblxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCB0b3AsIGJvdHRvbSwgb3BhY2l0eSwgYm9yZGVyLCB0cmFuc2Zvcm0pO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuICB9XG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAmLS1wbGF5IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICAgICYtLXN0b3Age1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN0YXJ0OiBWaWRlbyBOb3QgUGxheWluZyBTdGF0ZVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbi1pY29uLS1wbGF5IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgLy8gRW5kOiBWaWRlbyBOb3QgUGxheWluZyBTdGF0ZVxuICBAYXQtcm9vdCB7XG5cbiAgICAvLyBTdGFydDogQnV0dG9uIEF0IEJvdHRvbVxuICAgICAgJi0tYnV0dG9uLWF0LWJvdHRvbSB7XG4gICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgIHRvcDogODAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICAgJi0tYnV0dG9uLW1vYmlsZS1ib3R0b20ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgICAgIHRvcDogODAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIC8vIEVuZDogQnV0dG9uIEF0IEJvdHRvbVxuXG4gICAgLyogU1RBUlQ6IEJVVFRPTiBISURERU4gKi9cbiAgICAgICYtLWJ1dHRvbi1oaWRkZW4ge1xuICAgICAgICAjeyRifV9fYnV0dG9uIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLyogRU5EOiBCVVRUT04gSElEREVOICovXG5cbiAgICAvLyBTdGFydDogVmlkZW8gUGxheWluZyBTdGF0ZVxuICAgICAgLnZpZGVvLWlzLXBsYXlpbmcge1xuICAgICAgICAuZmxvLWJsb2NrX19oZWFkZXIsXG4gICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZSxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2NlbnRlcmVkLWxvZ28sXG4gICAgICAgIC5mbG8tc2xpZGVzaG93X190eXBlLWEtbWVudSxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQsXG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmssXG4gICAgICAgIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYSxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlLFxuICAgICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAsXG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCxcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwLFxuICAgICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19hcnJvd3MsXG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2NvdW50ZXJcbiAgICAgICAge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fYnV0dG9uIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3JzXG4gICAgICAgICAge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRifV9fY29udGFpbmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTAwKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2J1dHRvbi1pY29uLS1wbGF5IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2J1dHRvbi1pY29uLS1zdG9wIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAvLyBFbmQ6IFZpZGVvIFBsYXlpbmcgU3RhdGVcbiAgfVxuXG59XG4iLCIuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uIHtcbiAgJGI6IFwiLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvblwiO1xuXG4gICZfX2NvbnRlbnQge1xuXG4gIH1cblxuICAmX19wYWdpbmF0aW9uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAgICZfX2xpbmsge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG5cbiAgICAgICYtLXByZXYge1xuXG4gICAgICB9XG4gICAgICAmLS1uZXh0IHtcblxuICAgICAgfVxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWwgKyAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGdsb2JhbC1wYWRkaW5nLS12ZXJ0aWNhbDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwdnchaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX2xpbmsge1xuICAgICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAtJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsIC8gMjtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMy41KTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgICYtLW5leHQge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcblxuICAgICZfX2NvbnRlbnQge1xuXG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAgICZfX2xpbmsge1xuICAgICAgICB3aWR0aDogNDU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcblxuICAgICAgICAmLS1wcmV2IHtcblxuICAgICAgICB9XG4gICAgICAgICYtLW5leHQge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby13cC10aXRsZSB7XG4gICRiOiBcIi5mbG8td3AtdGl0bGVcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5mbG9fc2lkZWJhcntcbiAgLmNvbHVtbntcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYyg0MCk7XG4gICAgJjpsYXN0LWNoaWxke1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJi5mbG9fc2lkZWJhci0tb24tcmlnaHR7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAuZmlndXJlLWhpZGUtaW1ne1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgaW1ne1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICB9XG4gICoge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgfVxuICAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxke1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICB9XG4gIC53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjI1KSFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgei1pbmRleDogMTAwO1xuICAgICYtLW9uLWxlZnQge1xuICAgICAgb3JkZXI6IC0xO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG4gIC5ib2R5X2hhc19zaWRlYmFye1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLmZsby1ibG9jay5jb250YWluc19zaWRlYmFye1xuICAgICAgb3BhY2l0eTogMSFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi5zaWRlYmFyLXJlYWR5e1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgLmZsby1ibG9jay0taGVhZGVye1xuICAgICAgei1pbmRleDogMTAxICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiBCT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuICAuZmxvLXdvb2NvbW1lcmNlLXdyYXB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuLndvb2NvbW1lcmNlLXBhZ2V7XG4gIC5mbG8tYmxvY2t7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxuICAuZmxvLXBvc3QgYXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuZmxvLXBvc3Qge1xuICAgIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgICBwYWRkaW5nOiAxZW0gMmVtIDFlbSAzLjVlbTtcbiAgICB9XG4gIH1cbn1cbi53b29jb21tZXJjZXtcbiAgICBcbiAgICB0aGVhZCwgdGJvZHksIHRmb290e1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmZsby1wb3N0IGF7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5xdWFudGl0eXtcbiAgICAgIC5xdHksIGlucHV0W3R5cGU9XCJudW1iZXJcIl17XG4gICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOiAwLjFlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWJ7XG4gICAgICBhe1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0e1xuICAgICAgaW5wdXQuYnV0dG9uOmRpc2FibGVke1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLm9uc2FsZXtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgdWwucHJvZHVjdHN7XG4gICAgICBsaS5wcm9kdWN0e1xuICAgICAgICAucHJpY2UgZGVse1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYS5idXR0b257XG4gICAgICAgIHBhZGRpbmc6IDAuNmVtIDAuOGVtO1xuICAgICAgfVxuICAgIH1cbiAgICBkaXYucHJvZHVjdHtcbiAgICAgIC52YXJpYXRpb25ze1xuICAgICAgICB0ZC5sYWJlbHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIC52YWx1ZXtcbiAgICAgICAgICBzZWxlY3R7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVzZXRfdmFyaWF0aW9uc3tcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnByb2R1Y3RfbWV0YXtcbiAgICAgICAgYXtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGFnZ2VkX2Fze1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucmVsYXRlZHtcbiAgICAgICAgaDJ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAud29vY29tbWVyY2UtdGFic3tcbiAgICAgICAgbGkuYWN0aXZlIGEsIGE6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhbmVse1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLnRhYnN7XG4gICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGl7XG4gICAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNoZWNrb3V0e1xuICAgICAgI2N1c3RvbWVyX2RldGFpbHN7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgIC53Y19wYXltZW50X21ldGhvZHtcbiAgICAgICAgLmlucHV0LXJhZGlve1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1yZWNlaXZlZHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1kZXRhaWxze1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgbGl7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICBzdHJvbmd7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnR7XG4gICAgICAuYWRkcmVzc2Vze1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAud29vY29tbWVyY2UtTWVzc2FnZXtcbiAgICAgICAgYnJ7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgLndvb2NvbW1lcmNlLU1lc3NhZ2UsIC5zaG9wX3RhYmxlIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb257XG4gICAgICAuaXMtYWN0aXZle1xuICAgICAgICBhe1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7XG4gICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhOmhvdmVye1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAud29vY29tbWVyY2UtQWRkcmVzcy10aXRsZXtcbiAgICAgIC5lZGl0e1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IFxuXG4gICAgLm9yZGVyX2RldGFpbHN7XG4gICAgICAucHJvZHVjdC1uYW1le1xuICAgICAgICBhe1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDA7XG4gICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5hY3Rpb25ze1xuICAgICAgLmNvdXBvbntcbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgICB9XG4gICAgICBwe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICB9XG4gICAgICBpbnB1dC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXXtcbiAgICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAjNTE1MTUxO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvcm0sIHRhYmxle1xuICAgICAgcHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5vcmRlci1udW1iZXJ7XG4gICAgICBhe1xuICAgICAgICBicntcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNjb3Vwb25fY29kZXtcbiAgICAgIG1pbi13aWR0aDogMTVlbTtcbiAgICAgIGhlaWdodDogMi41NXJlbTtcbiAgICB9XG4gICAgLmJ1dHRvbntcbiAgICAgIGJye1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24sIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZHtcbiAgICAgIHBhZGRpbmc6IDAuNDBlbSAwLjVlbTtcbiAgICB9XG4gICAgLndjLXByb2NlZWQtdG8tY2hlY2tvdXR7XG4gICAgICBwe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuY2hlY2tvdXQtYnV0dG9ue1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksIHRleHRhcmVhe1xuICAgIFx0Ym9yZGVyOiAxcHggc29saWQ7XG4gICAgXHRwYWRkaW5nOiByZW0tY2FsYyg4KTtcbiAgICB9XG4gICAgdGV4dGFyZWF7XG4gICAgXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgXHQvL2JvcmRlcjogMXB4IHNvbGlkO1xuICAgIFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIFx0bGluZS1oZWlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLmJ1dHRvbi5sb2FkaW5nOjphZnRlciB7XG4gICAgICByaWdodDogLTJlbTtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtUmV2aWV3cy10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jb21tZW50LWZvcm0ge1xuICAgICAgLmNvbW1lbnQtbm90ZXMsIC5jb21tZW50LWZvcm0tYXV0aG9yLCAuY29tbWVudC1mb3JtLWVtYWlsLCAuY29tbWVudC1mb3JtLXJhdGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuY29tbWVudC1ub3RlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgfVxuICAgIH1cblxufVxuXG4vKiBFT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuIiwiLmJvZHlfaGFzX3NpZGViYXJ7XG5cbiAgLmZsby1pY29uLXNpZGViYXJ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmZsb19zaWRlYmFyLS1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIl19 */
