@charset "UTF-8";
@import url(../../js/vendor/icheck/css/minimal/_all.css);
@import url(/assets/bower_components/fancybox/dist/jquery.fancybox.min.css);
.show {
  display: block !important; }

/* COMMON COLORS */
/**
 * 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.
     */
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=40em&menubreak=56.25em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "GillSans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.4;
  color: #000;
  -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;
  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: 90.35714rem;
  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.71429rem;
    margin-left: -0.71429rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.71429rem;
        margin-left: -0.71429rem; } }
    @media print, screen and (min-width: 56.25em) {
      .row .row {
        margin-right: -0.71429rem;
        margin-left: -0.71429rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.71429rem;
        margin-left: -0.71429rem; } }
    @media screen and (min-width: 75em) {
      .row .row {
        margin-right: -0.71429rem;
        margin-left: -0.71429rem; } }
    .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.71429rem;
    padding-left: 0.71429rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.71429rem;
    padding-left: 0.71429rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.71429rem;
  padding-left: 0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.71429rem;
      padding-left: 0.71429rem; } }
  .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.71429rem;
  padding-left: 0.71429rem; }

.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: 40em) {
  .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.71429rem;
    padding-left: 0.71429rem; }
  .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: 56.25em) {
  .menubreak-1 {
    width: 8.33333%; }
  .menubreak-push-1 {
    position: relative;
    left: 8.33333%; }
  .menubreak-pull-1 {
    position: relative;
    left: -8.33333%; }
  .menubreak-offset-0 {
    margin-left: 0%; }
  .menubreak-2 {
    width: 16.66667%; }
  .menubreak-push-2 {
    position: relative;
    left: 16.66667%; }
  .menubreak-pull-2 {
    position: relative;
    left: -16.66667%; }
  .menubreak-offset-1 {
    margin-left: 8.33333%; }
  .menubreak-3 {
    width: 25%; }
  .menubreak-push-3 {
    position: relative;
    left: 25%; }
  .menubreak-pull-3 {
    position: relative;
    left: -25%; }
  .menubreak-offset-2 {
    margin-left: 16.66667%; }
  .menubreak-4 {
    width: 33.33333%; }
  .menubreak-push-4 {
    position: relative;
    left: 33.33333%; }
  .menubreak-pull-4 {
    position: relative;
    left: -33.33333%; }
  .menubreak-offset-3 {
    margin-left: 25%; }
  .menubreak-5 {
    width: 41.66667%; }
  .menubreak-push-5 {
    position: relative;
    left: 41.66667%; }
  .menubreak-pull-5 {
    position: relative;
    left: -41.66667%; }
  .menubreak-offset-4 {
    margin-left: 33.33333%; }
  .menubreak-6 {
    width: 50%; }
  .menubreak-push-6 {
    position: relative;
    left: 50%; }
  .menubreak-pull-6 {
    position: relative;
    left: -50%; }
  .menubreak-offset-5 {
    margin-left: 41.66667%; }
  .menubreak-7 {
    width: 58.33333%; }
  .menubreak-push-7 {
    position: relative;
    left: 58.33333%; }
  .menubreak-pull-7 {
    position: relative;
    left: -58.33333%; }
  .menubreak-offset-6 {
    margin-left: 50%; }
  .menubreak-8 {
    width: 66.66667%; }
  .menubreak-push-8 {
    position: relative;
    left: 66.66667%; }
  .menubreak-pull-8 {
    position: relative;
    left: -66.66667%; }
  .menubreak-offset-7 {
    margin-left: 58.33333%; }
  .menubreak-9 {
    width: 75%; }
  .menubreak-push-9 {
    position: relative;
    left: 75%; }
  .menubreak-pull-9 {
    position: relative;
    left: -75%; }
  .menubreak-offset-8 {
    margin-left: 66.66667%; }
  .menubreak-10 {
    width: 83.33333%; }
  .menubreak-push-10 {
    position: relative;
    left: 83.33333%; }
  .menubreak-pull-10 {
    position: relative;
    left: -83.33333%; }
  .menubreak-offset-9 {
    margin-left: 75%; }
  .menubreak-11 {
    width: 91.66667%; }
  .menubreak-push-11 {
    position: relative;
    left: 91.66667%; }
  .menubreak-pull-11 {
    position: relative;
    left: -91.66667%; }
  .menubreak-offset-10 {
    margin-left: 83.33333%; }
  .menubreak-12 {
    width: 100%; }
  .menubreak-offset-11 {
    margin-left: 91.66667%; }
  .menubreak-up-1 > .column, .menubreak-up-1 > .columns {
    float: left;
    width: 100%; }
    .menubreak-up-1 > .column:nth-of-type(1n), .menubreak-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-1 > .column:nth-of-type(1n+1), .menubreak-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .menubreak-up-1 > .column:last-child, .menubreak-up-1 > .columns:last-child {
      float: left; }
  .menubreak-up-2 > .column, .menubreak-up-2 > .columns {
    float: left;
    width: 50%; }
    .menubreak-up-2 > .column:nth-of-type(1n), .menubreak-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-2 > .column:nth-of-type(2n+1), .menubreak-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .menubreak-up-2 > .column:last-child, .menubreak-up-2 > .columns:last-child {
      float: left; }
  .menubreak-up-3 > .column, .menubreak-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .menubreak-up-3 > .column:nth-of-type(1n), .menubreak-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-3 > .column:nth-of-type(3n+1), .menubreak-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .menubreak-up-3 > .column:last-child, .menubreak-up-3 > .columns:last-child {
      float: left; }
  .menubreak-up-4 > .column, .menubreak-up-4 > .columns {
    float: left;
    width: 25%; }
    .menubreak-up-4 > .column:nth-of-type(1n), .menubreak-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-4 > .column:nth-of-type(4n+1), .menubreak-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .menubreak-up-4 > .column:last-child, .menubreak-up-4 > .columns:last-child {
      float: left; }
  .menubreak-up-5 > .column, .menubreak-up-5 > .columns {
    float: left;
    width: 20%; }
    .menubreak-up-5 > .column:nth-of-type(1n), .menubreak-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-5 > .column:nth-of-type(5n+1), .menubreak-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .menubreak-up-5 > .column:last-child, .menubreak-up-5 > .columns:last-child {
      float: left; }
  .menubreak-up-6 > .column, .menubreak-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .menubreak-up-6 > .column:nth-of-type(1n), .menubreak-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-6 > .column:nth-of-type(6n+1), .menubreak-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .menubreak-up-6 > .column:last-child, .menubreak-up-6 > .columns:last-child {
      float: left; }
  .menubreak-up-7 > .column, .menubreak-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .menubreak-up-7 > .column:nth-of-type(1n), .menubreak-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-7 > .column:nth-of-type(7n+1), .menubreak-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .menubreak-up-7 > .column:last-child, .menubreak-up-7 > .columns:last-child {
      float: left; }
  .menubreak-up-8 > .column, .menubreak-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .menubreak-up-8 > .column:nth-of-type(1n), .menubreak-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .menubreak-up-8 > .column:nth-of-type(8n+1), .menubreak-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .menubreak-up-8 > .column:last-child, .menubreak-up-8 > .columns:last-child {
      float: left; }
  .menubreak-collapse > .column, .menubreak-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .menubreak-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .menubreak-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .menubreak-uncollapse > .column, .menubreak-uncollapse > .columns {
    padding-right: 0.71429rem;
    padding-left: 0.71429rem; }
  .menubreak-centered {
    margin-right: auto;
    margin-left: auto; }
    .menubreak-centered, .menubreak-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .menubreak-uncentered,
  .menubreak-push-0,
  .menubreak-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .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.71429rem;
    padding-left: 0.71429rem; }
  .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; } }

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

.column-block {
  margin-bottom: 1.42857rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.42857rem; }
      .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: 72%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "GillSans", "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.71429rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 2.14286rem; }
  h2 {
    font-size: 1.85714rem; }
  h3 {
    font-size: 1.57143rem; }
  h4 {
    font-size: 1.42857rem; }
  h5 {
    font-size: 1.28571rem; }
  h6 {
    font-size: 1.14286rem; } }

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

hr {
  clear: both;
  max-width: 90.35714rem;
  height: 0;
  margin: 1.42857rem 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.64286rem 1.42857rem 0 1.35714rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

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

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

figure {
  margin: 0; }

code {
  padding: 0.14286rem 0.35714rem 0.07143rem;
  border: 1px solid #cacaca;
  background-color: #e9e9e9;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000; }

kbd {
  margin: 0;
  padding: 0.14286rem 0.28571rem 0;
  background-color: #e9e9e9;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000; }

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

.lead {
  font-size: 19.6px;
  line-height: 1.4; }

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-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; }
  .print-break-inside {
    page-break-inside: auto; } }

[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.85714rem;
  margin: 0 0 1.28571rem;
  padding: 0.64286rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  color: #000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  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: #fff;
    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::placeholder,
textarea::placeholder {
  color: #cacaca; }

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

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

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

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

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

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

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

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

.help-text {
  margin-top: -0.64286rem;
  font-size: 0.92857rem;
  font-style: italic;
  color: #000; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1.28571rem; }
  .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: #e9e9e9;
  color: #000;
  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.92857rem; }

.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.92857rem;
    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.64286rem; }

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

select {
  height: 2.85714rem;
  margin: 0 0 1.28571rem;
  padding: 0.64286rem;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fff;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  color: #000;
  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 -1.28571rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.92857rem;
  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: #fff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e9e9e9;
    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: #faedeb; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

.form-error {
  display: none;
  margin-top: -0.64286rem;
  margin-bottom: 1.28571rem;
  font-size: 0.85714rem;
  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 1.8em;
  -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: #0053ff;
  color: #fff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #0047d9;
    color: #fff; }
  .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: #000;
    color: #fff; }
    .button.primary:hover, .button.primary:focus {
      background-color: black;
      color: #fff; }
  .button.secondary {
    background-color: #767676;
    color: #000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #000; }
  .button.third {
    background-color: #c3c3c3;
    color: #000; }
    .button.third:hover, .button.third:focus {
      background-color: #9c9c9c;
      color: #000; }
  .button.success {
    background-color: #3adb76;
    color: #000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000; }
  .button.warning {
    background-color: #ffae00;
    color: #000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000; }
  .button.alert {
    background-color: #cc4b37;
    color: #000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #000; }
  .button.secondary-blue {
    background-color: #0053ff;
    color: #fff; }
    .button.secondary-blue:hover, .button.secondary-blue:focus {
      background-color: #0042cc;
      color: #fff; }
  .button.hollow {
    border: 1px solid #000;
    color: #000; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: black;
      color: black; }
    .button.hollow.primary {
      border: 1px solid #000;
      color: #000; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: black;
        color: black; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .button.hollow.third {
      border: 1px solid #c3c3c3;
      color: #c3c3c3; }
      .button.hollow.third:hover, .button.hollow.third:focus {
        border-color: #626262;
        color: #626262; }
    .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.hollow.secondary-blue {
      border: 1px solid #0053ff;
      color: #0053ff; }
      .button.hollow.secondary-blue:hover, .button.hollow.secondary-blue:focus {
        border-color: #002a80;
        color: #002a80; }
  .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: #000;
      color: #fff; }
    .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: #000;
        color: #fff; }
    .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: #000; }
    .button.disabled.third, .button[disabled].third {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.third, .button.disabled.third:hover, .button.disabled.third:focus, .button[disabled].third, .button[disabled].third:hover, .button[disabled].third:focus {
        background-color: #c3c3c3;
        color: #000; }
    .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: #000; }
    .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: #000; }
    .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: #000; }
    .button.disabled.secondary-blue, .button[disabled].secondary-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary-blue, .button.disabled.secondary-blue:hover, .button.disabled.secondary-blue:focus, .button[disabled].secondary-blue, .button[disabled].secondary-blue:hover, .button[disabled].secondary-blue:focus {
        background-color: #0053ff;
        color: #fff; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1.8em; }
  .button.dropdown.hollow::after {
    border-top-color: #0053ff; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #000; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.third::after {
    border-top-color: #c3c3c3; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.dropdown.hollow.secondary-blue::after {
    border-top-color: #0053ff; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

.accordion {
  margin-left: 0;
  background: #fff;
  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 #e9e9e9;
  border-bottom: 0;
  font-size: 0.85714rem;
  line-height: 1;
  color: #000; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e9e9e9;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e9e9e9; }
  .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 #e9e9e9;
  border-bottom: 0;
  background-color: #fff;
  color: #000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e9e9e9; }

.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: #00336f 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%; }

.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.78571rem;
    color: #000;
    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: #000; }
    .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: #000;
    color: #fff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: black;
      color: #fff; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #000; }
  .button-group.third .button {
    background-color: #c3c3c3;
    color: #000; }
    .button-group.third .button:hover, .button-group.third .button:focus {
      background-color: #9c9c9c;
      color: #000; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #000; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #000; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #000; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #000; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #000; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #000; }
  .button-group.secondary-blue .button {
    background-color: #0053ff;
    color: #fff; }
    .button-group.secondary-blue .button:hover, .button-group.secondary-blue .button:focus {
      background-color: #0042cc;
      color: #fff; }
  .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: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.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(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d9d9d9;
    color: #000; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #000; }
  .callout.third {
    background-color: #f6f6f6;
    color: #000; }
  .callout.success {
    background-color: #e1faea;
    color: #000; }
  .callout.warning {
    background-color: #fff3d9;
    color: #000; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #000; }
  .callout.secondary-blue {
    background-color: #d9e5ff;
    color: #000; }
  .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 #e9e9e9;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  color: #000; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  padding: 1rem;
  background: #e9e9e9; }
  .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: #000; }
  .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: 1rem 2.5rem;
    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: 40em) {
    .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: 56.25em) {
    .menu.menubreak-horizontal > li {
      display: table-cell; }
    .menu.menubreak-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.menubreak-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.menubreak-vertical > li {
      display: block; } }
  @media print, screen and (min-width: 64em) {
    .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; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal > li {
      display: table-cell; }
    .menu.xlarge-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.xlarge-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.xlarge-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: 2.5rem; }
  .menu.simple.align-right li {
    margin-right: 0;
    margin-left: 2.5rem; }
  .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: #e9e9e9;
    color: #000; }
  .menu.menu-bordered li {
    border: 1px solid #e9e9e9; }
    .menu.menu-bordered li:not(:first-child) {
      border-top: 0; }
  .menu.menu-hover li:hover {
    background-color: #e9e9e9; }

.menu-text {
  padding-top: 0;
  padding-bottom: 0;
  padding: 1rem 2.5rem;
  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: #fff;
    box-shadow: 0 7px 0 #fff, 0 14px 0 #fff;
    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: #000;
    box-shadow: 0 7px 0 #000, 0 14px 0 #000;
    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: #fff;
  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 #00336f;
    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 #00336f 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: #fff;
  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; }

[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%; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media print, screen and (min-width: 56.25em) {
  .dropdown.menu.menubreak-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.menubreak-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.menubreak-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.menubreak-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.menubreak-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

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

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

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    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: #fff; }
  .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: 1.14286rem;
  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%; }
  .responsive-embed.sliderRatio,
  .flex-video.sliderRatio {
    padding-bottom: 37.94466%; }

.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: #000;
  color: #fff; }
  .label.primary {
    background: #000;
    color: #fff; }
  .label.secondary {
    background: #767676;
    color: #000; }
  .label.third {
    background: #c3c3c3;
    color: #000; }
  .label.success {
    background: #3adb76;
    color: #000; }
  .label.warning {
    background: #ffae00;
    color: #000; }
  .label.alert {
    background: #cc4b37;
    color: #000; }
  .label.secondary-blue {
    background: #0053ff;
    color: #fff; }

.media-object {
  display: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.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(255, 255, 255, 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;
  backface-visibility: hidden;
  background: #e9e9e9; }
  [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(0, 0, 0, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 1;
  transition: transform 0.5s ease;
  backface-visibility: hidden;
  background: #e9e9e9; }
  [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(0, 0, 0, 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(0, 0, 0, 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(0, 0, 0, 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(0, 0, 0, 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(0, 0, 0, 0.7);
    content: " "; }
  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

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

@media print, screen and (min-width: 40em) {
  .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: 56.25em) {
  .position-left.reveal-for-menubreak {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-menubreak ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-menubreak {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-menubreak ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-menubreak {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-menubreak ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-menubreak {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-menubreak ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .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; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-xlarge ~ .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(0, 0, 0, 0.5);
  color: #fff; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fff; }
  [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(0, 0, 0, 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.07143rem;
    border-radius: 0;
    font-size: 1rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.21429rem 0.71429rem;
    border-radius: 0;
    color: #000; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e9e9e9; }
  .pagination .current {
    padding: 0.21429rem 0.71429rem;
    background: #000;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.21429rem 0.71429rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.21429rem 0.71429rem;
    content: '\2026';
    color: #000; }

.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: #000; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.third .progress-meter {
    background-color: #c3c3c3; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }
  .progress.secondary-blue .progress-meter {
    background-color: #0053ff; }

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

.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: #fff;
  white-space: nowrap; }

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

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

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

.reveal {
  z-index: 1006;
  backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fff;
  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: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 90.35714rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal .reveal {
      right: auto;
      left: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 90.35714rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 90.35714rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 90.35714rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #fff; }
  caption {
    padding: 0.57143rem 0.71429rem 0.71429rem;
    font-weight: bold; }
  thead {
    background: #f9f9f9;
    color: #000; }
  tfoot {
    background: #f2f2f2;
    color: #000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.57143rem 0.71429rem 0.71429rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.57143rem 0.71429rem 0.71429rem; }
  tbody tr:nth-child(odd) {
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #fff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #fff; }

@media screen and (max-width: 56.1875em) {
  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: #f4f4f4; }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #f5f6f8;
  background: #f5f6f8;
  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: #000; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #0d0d0d; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 20px 10px 10px 10px;
    font-size: 1.42857rem;
    line-height: 1;
    color: #838383; }
    .tabs-title > a:hover {
      background: #f5f6f8;
      color: #717171; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: transparent;
      color: #000; }

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

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

.tabs-panel {
  display: none;
  padding: 0 40px; }
  .tabs-panel[aria-hidden="false"] {
    display: block; }

.title-bar {
  padding: 10px;
  background: #000;
  color: #fff; }
  .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: #000;
  font-size: 72%;
  color: #fff; }
  .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 #000;
    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: #000 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 #000;
    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 #000 transparent transparent;
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    transform: translateY(-50%); }

.top-bar {
  padding: 0; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #000; }
  .top-bar ul ul {
    background-color: #e9e9e9; }
  .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: 56.25em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 56.1875em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-menubreak .top-bar-left,
    .top-bar.stacked-for-menubreak .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%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge .top-bar-left,
    .top-bar.stacked-for-xlarge .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: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-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;
  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;
  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;
  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;
  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;
  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;
  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;
  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;
  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; }

.shake {
  animation-name: shake-7; }

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

.spin-cw {
  animation-name: spin-cw-1turn; }

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

.spin-ccw {
  animation-name: spin-cw-1turn; }

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

.wiggle {
  animation-name: wiggle-7deg; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  overflow-x: hidden;
  min-width: 320px; }

img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: auto !important; }
  img.img {
    width: 100%; }

.modal-open {
  overflow: hidden; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        transition: none; } }
  .modal.show .modal-dialog {
    transform: none; }
  .modal.modal-static .modal-dialog {
    transform: scale(1.02); }

.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 1rem);
    overflow: hidden; }
  .modal-dialog-scrollable .modal-header,
  .modal-dialog-scrollable .modal-footer {
    flex-shrink: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 1rem);
    content: ""; }
  .modal-dialog-centered.modal-dialog-scrollable {
    flex-direction: column;
    justify-content: center;
    height: 100%; }
    .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.5; }

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1rem 1rem;
  border-bottom: 1px solid #dee2e6; }
  .modal-header .close {
    padding: 1rem 1rem;
    margin: -1rem -1rem -1rem auto; }

.modal-title {
  margin-bottom: 0;
  line-height: 1.5; }

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem; }

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0.75rem;
  border-top: 1px solid #dee2e6; }
  .modal-footer > * {
    margin: 0.25rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
    .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 3.5rem); }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
    .modal-dialog-centered::before {
      height: calc(100vh - 3.5rem); }
  .modal-sm {
    max-width: 300px; } }

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    max-width: 800px; } }

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px; } }

.btn {
  display: inline-block;
  font-weight: 400;
  color: #000;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .btn {
      transition: none; } }
  .btn:hover {
    color: #000;
    text-decoration: none; }
  .btn:focus, .btn.focus {
    outline: 0;
    box-shadow: none; }
  .btn.disabled, .btn:disabled {
    opacity: 0.65; }

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none; }

.btn-primary {
  color: #fff;
  background-color: #0053ff;
  border-color: #0053ff; }
  .btn-primary:hover {
    color: #fff;
    background-color: #0047d9;
    border-color: #0042cc; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #0047d9;
    border-color: #0042cc;
    box-shadow: 0 0 0 0.2rem rgba(38, 109, 255, 0.5); }
  .btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #0053ff;
    border-color: #0053ff; }
  .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
  .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0042cc;
    border-color: #003ebf; }
    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(38, 109, 255, 0.5); }

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d; }
  .btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62; }
  .btn-secondary:focus, .btn-secondary.focus {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }
  .btn-secondary.disabled, .btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b; }
    .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745; }
  .btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }
  .btn-success.disabled, .btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
  .show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430; }
    .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8; }
  .btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }
  .btn-info.disabled, .btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
  .show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f; }
    .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }

.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107; }
  .btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00; }
  .btn-warning:focus, .btn-warning.focus {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }
  .btn-warning.disabled, .btn-warning:disabled {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
  .show > .btn-warning.dropdown-toggle {
    color: #212529;
    background-color: #d39e00;
    border-color: #c69500; }
    .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }
  .btn-danger.disabled, .btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
  .show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d; }
    .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5; }
  .btn-light:focus, .btn-light.focus {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
    box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }
  .btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
  .show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #dae0e5;
    border-color: #d3d9df; }
    .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40; }
  .btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124; }
  .btn-dark:focus, .btn-dark.focus {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
    box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }
  .btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
  .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d; }
    .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }

.btn-outline-primary {
  color: #0053ff;
  border-color: #0053ff; }
  .btn-outline-primary:hover {
    color: #fff;
    background-color: #0053ff;
    border-color: #0053ff; }
  .btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 83, 255, 0.5); }
  .btn-outline-primary.disabled, .btn-outline-primary:disabled {
    color: #0053ff;
    background-color: transparent; }
  .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: #0053ff;
    border-color: #0053ff; }
    .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-primary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(0, 83, 255, 0.5); }

.btn-outline-secondary {
  color: #6c757d;
  border-color: #6c757d; }
  .btn-outline-secondary:hover {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
  .btn-outline-secondary:focus, .btn-outline-secondary.focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #6c757d;
    background-color: transparent; }
  .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
  .show > .btn-outline-secondary.dropdown-toggle {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
    .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-secondary.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.btn-outline-success {
  color: #28a745;
  border-color: #28a745; }
  .btn-outline-success:hover {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
  .btn-outline-success:focus, .btn-outline-success.focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .btn-outline-success.disabled, .btn-outline-success:disabled {
    color: #28a745;
    background-color: transparent; }
  .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
  .show > .btn-outline-success.dropdown-toggle {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
    .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-success.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.btn-outline-info {
  color: #17a2b8;
  border-color: #17a2b8; }
  .btn-outline-info:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
  .btn-outline-info:focus, .btn-outline-info.focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .btn-outline-info.disabled, .btn-outline-info:disabled {
    color: #17a2b8;
    background-color: transparent; }
  .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
  .show > .btn-outline-info.dropdown-toggle {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
    .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-info.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.btn-outline-warning {
  color: #ffc107;
  border-color: #ffc107; }
  .btn-outline-warning:hover {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
  .btn-outline-warning:focus, .btn-outline-warning.focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .btn-outline-warning.disabled, .btn-outline-warning:disabled {
    color: #ffc107;
    background-color: transparent; }
  .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
  .show > .btn-outline-warning.dropdown-toggle {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
    .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-warning.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.btn-outline-danger {
  color: #dc3545;
  border-color: #dc3545; }
  .btn-outline-danger:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
  .btn-outline-danger:focus, .btn-outline-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .btn-outline-danger.disabled, .btn-outline-danger:disabled {
    color: #dc3545;
    background-color: transparent; }
  .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
  .show > .btn-outline-danger.dropdown-toggle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
    .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-danger.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.btn-outline-light {
  color: #f8f9fa;
  border-color: #f8f9fa; }
  .btn-outline-light:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
  .btn-outline-light:focus, .btn-outline-light.focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .btn-outline-light.disabled, .btn-outline-light:disabled {
    color: #f8f9fa;
    background-color: transparent; }
  .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
  .show > .btn-outline-light.dropdown-toggle {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
    .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-light.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.btn-outline-dark {
  color: #343a40;
  border-color: #343a40; }
  .btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
  .btn-outline-dark:focus, .btn-outline-dark.focus {
    box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .btn-outline-dark.disabled, .btn-outline-dark:disabled {
    color: #343a40;
    background-color: transparent; }
  .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
  .show > .btn-outline-dark.dropdown-toggle {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
    .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
    .show > .btn-outline-dark.dropdown-toggle:focus {
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.btn-link {
  font-weight: 400;
  color: #0053ff;
  text-decoration: none; }
  .btn-link:hover {
    color: #003ab3;
    text-decoration: underline; }
  .btn-link:focus, .btn-link.focus {
    text-decoration: underline;
    box-shadow: none; }
  .btn-link:disabled, .btn-link.disabled {
    color: #6c757d;
    pointer-events: none; }

.btn-lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0; }

.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0; }

.btn-block {
  display: block;
  width: 100%; }
  .btn-block + .btn-block {
    margin-top: 0.5rem; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.align-baseline {
  vertical-align: baseline !important; }

.align-top {
  vertical-align: top !important; }

.align-middle {
  vertical-align: middle !important; }

.align-bottom {
  vertical-align: bottom !important; }

.align-text-bottom {
  vertical-align: text-bottom !important; }

.align-text-top {
  vertical-align: text-top !important; }

.bg-primary {
  background-color: #0053ff !important; }

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0042cc !important; }

.bg-secondary {
  background-color: #6c757d !important; }

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important; }

.bg-success {
  background-color: #28a745 !important; }

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important; }

.bg-info {
  background-color: #17a2b8 !important; }

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important; }

.bg-warning {
  background-color: #ffc107 !important; }

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important; }

.bg-danger {
  background-color: #dc3545 !important; }

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important; }

.bg-light {
  background-color: #f8f9fa !important; }

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important; }

.bg-dark {
  background-color: #343a40 !important; }

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important; }

.bg-white {
  background-color: #fff !important; }

.bg-transparent {
  background-color: transparent !important; }

.border {
  border: 1px solid #dee2e6 !important; }

.border-top {
  border-top: 1px solid #dee2e6 !important; }

.border-right {
  border-right: 1px solid #dee2e6 !important; }

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important; }

.border-left {
  border-left: 1px solid #dee2e6 !important; }

.border-0 {
  border: 0 !important; }

.border-top-0 {
  border-top: 0 !important; }

.border-right-0 {
  border-right: 0 !important; }

.border-bottom-0 {
  border-bottom: 0 !important; }

.border-left-0 {
  border-left: 0 !important; }

.border-primary {
  border-color: #0053ff !important; }

.border-secondary {
  border-color: #6c757d !important; }

.border-success {
  border-color: #28a745 !important; }

.border-info {
  border-color: #17a2b8 !important; }

.border-warning {
  border-color: #ffc107 !important; }

.border-danger {
  border-color: #dc3545 !important; }

.border-light {
  border-color: #f8f9fa !important; }

.border-dark {
  border-color: #343a40 !important; }

.border-white {
  border-color: #fff !important; }

.rounded-sm {
  border-radius: 0 !important; }

.rounded {
  border-radius: 0 !important; }

.rounded-top {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important; }

.rounded-right {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

.rounded-bottom {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important; }

.rounded-left {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important; }

.rounded-lg {
  border-radius: 0 !important; }

.rounded-circle {
  border-radius: 50% !important; }

.rounded-pill {
  border-radius: 50rem !important; }

.rounded-0 {
  border-radius: 0 !important; }

.clearfix::after {
  display: block;
  clear: both;
  content: ""; }

.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: flex !important; }

.d-inline-flex {
  display: inline-flex !important; }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: flex !important; }
  .d-sm-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: flex !important; }
  .d-md-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: flex !important; }
  .d-lg-inline-flex {
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: flex !important; }
  .d-xl-inline-flex {
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: flex !important; }
  .d-print-inline-flex {
    display: inline-flex !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.embed-responsive-21by9::before {
  padding-top: 42.85714%; }

.embed-responsive-16by9::before {
  padding-top: 56.25%; }

.embed-responsive-4by3::before {
  padding-top: 75%; }

.embed-responsive-1by1::before {
  padding-top: 100%; }

.flex-row {
  flex-direction: row !important; }

.flex-column {
  flex-direction: column !important; }

.flex-row-reverse {
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  flex-direction: column-reverse !important; }

.flex-wrap {
  flex-wrap: wrap !important; }

.flex-nowrap {
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important; }

.flex-fill {
  flex: 1 1 auto !important; }

.flex-grow-0 {
  flex-grow: 0 !important; }

.flex-grow-1 {
  flex-grow: 1 !important; }

.flex-shrink-0 {
  flex-shrink: 0 !important; }

.flex-shrink-1 {
  flex-shrink: 1 !important; }

.justify-content-start {
  justify-content: flex-start !important; }

.justify-content-end {
  justify-content: flex-end !important; }

.justify-content-center {
  justify-content: center !important; }

.justify-content-between {
  justify-content: space-between !important; }

.justify-content-around {
  justify-content: space-around !important; }

.align-items-start {
  align-items: flex-start !important; }

.align-items-end {
  align-items: flex-end !important; }

.align-items-center {
  align-items: center !important; }

.align-items-baseline {
  align-items: baseline !important; }

.align-items-stretch {
  align-items: stretch !important; }

.align-content-start {
  align-content: flex-start !important; }

.align-content-end {
  align-content: flex-end !important; }

.align-content-center {
  align-content: center !important; }

.align-content-between {
  align-content: space-between !important; }

.align-content-around {
  align-content: space-around !important; }

.align-content-stretch {
  align-content: stretch !important; }

.align-self-auto {
  align-self: auto !important; }

.align-self-start {
  align-self: flex-start !important; }

.align-self-end {
  align-self: flex-end !important; }

.align-self-center {
  align-self: center !important; }

.align-self-baseline {
  align-self: baseline !important; }

.align-self-stretch {
  align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important; }
  .flex-sm-column {
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-sm-fill {
    flex: 1 1 auto !important; }
  .flex-sm-grow-0 {
    flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-sm-start {
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    justify-content: center !important; }
  .justify-content-sm-between {
    justify-content: space-between !important; }
  .justify-content-sm-around {
    justify-content: space-around !important; }
  .align-items-sm-start {
    align-items: flex-start !important; }
  .align-items-sm-end {
    align-items: flex-end !important; }
  .align-items-sm-center {
    align-items: center !important; }
  .align-items-sm-baseline {
    align-items: baseline !important; }
  .align-items-sm-stretch {
    align-items: stretch !important; }
  .align-content-sm-start {
    align-content: flex-start !important; }
  .align-content-sm-end {
    align-content: flex-end !important; }
  .align-content-sm-center {
    align-content: center !important; }
  .align-content-sm-between {
    align-content: space-between !important; }
  .align-content-sm-around {
    align-content: space-around !important; }
  .align-content-sm-stretch {
    align-content: stretch !important; }
  .align-self-sm-auto {
    align-self: auto !important; }
  .align-self-sm-start {
    align-self: flex-start !important; }
  .align-self-sm-end {
    align-self: flex-end !important; }
  .align-self-sm-center {
    align-self: center !important; }
  .align-self-sm-baseline {
    align-self: baseline !important; }
  .align-self-sm-stretch {
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important; }
  .flex-md-column {
    flex-direction: column !important; }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-md-wrap {
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-md-fill {
    flex: 1 1 auto !important; }
  .flex-md-grow-0 {
    flex-grow: 0 !important; }
  .flex-md-grow-1 {
    flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-md-start {
    justify-content: flex-start !important; }
  .justify-content-md-end {
    justify-content: flex-end !important; }
  .justify-content-md-center {
    justify-content: center !important; }
  .justify-content-md-between {
    justify-content: space-between !important; }
  .justify-content-md-around {
    justify-content: space-around !important; }
  .align-items-md-start {
    align-items: flex-start !important; }
  .align-items-md-end {
    align-items: flex-end !important; }
  .align-items-md-center {
    align-items: center !important; }
  .align-items-md-baseline {
    align-items: baseline !important; }
  .align-items-md-stretch {
    align-items: stretch !important; }
  .align-content-md-start {
    align-content: flex-start !important; }
  .align-content-md-end {
    align-content: flex-end !important; }
  .align-content-md-center {
    align-content: center !important; }
  .align-content-md-between {
    align-content: space-between !important; }
  .align-content-md-around {
    align-content: space-around !important; }
  .align-content-md-stretch {
    align-content: stretch !important; }
  .align-self-md-auto {
    align-self: auto !important; }
  .align-self-md-start {
    align-self: flex-start !important; }
  .align-self-md-end {
    align-self: flex-end !important; }
  .align-self-md-center {
    align-self: center !important; }
  .align-self-md-baseline {
    align-self: baseline !important; }
  .align-self-md-stretch {
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important; }
  .flex-lg-column {
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-lg-fill {
    flex: 1 1 auto !important; }
  .flex-lg-grow-0 {
    flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-lg-start {
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    justify-content: center !important; }
  .justify-content-lg-between {
    justify-content: space-between !important; }
  .justify-content-lg-around {
    justify-content: space-around !important; }
  .align-items-lg-start {
    align-items: flex-start !important; }
  .align-items-lg-end {
    align-items: flex-end !important; }
  .align-items-lg-center {
    align-items: center !important; }
  .align-items-lg-baseline {
    align-items: baseline !important; }
  .align-items-lg-stretch {
    align-items: stretch !important; }
  .align-content-lg-start {
    align-content: flex-start !important; }
  .align-content-lg-end {
    align-content: flex-end !important; }
  .align-content-lg-center {
    align-content: center !important; }
  .align-content-lg-between {
    align-content: space-between !important; }
  .align-content-lg-around {
    align-content: space-around !important; }
  .align-content-lg-stretch {
    align-content: stretch !important; }
  .align-self-lg-auto {
    align-self: auto !important; }
  .align-self-lg-start {
    align-self: flex-start !important; }
  .align-self-lg-end {
    align-self: flex-end !important; }
  .align-self-lg-center {
    align-self: center !important; }
  .align-self-lg-baseline {
    align-self: baseline !important; }
  .align-self-lg-stretch {
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important; }
  .flex-xl-column {
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .flex-xl-fill {
    flex: 1 1 auto !important; }
  .flex-xl-grow-0 {
    flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important; }
  .justify-content-xl-start {
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    justify-content: center !important; }
  .justify-content-xl-between {
    justify-content: space-between !important; }
  .justify-content-xl-around {
    justify-content: space-around !important; }
  .align-items-xl-start {
    align-items: flex-start !important; }
  .align-items-xl-end {
    align-items: flex-end !important; }
  .align-items-xl-center {
    align-items: center !important; }
  .align-items-xl-baseline {
    align-items: baseline !important; }
  .align-items-xl-stretch {
    align-items: stretch !important; }
  .align-content-xl-start {
    align-content: flex-start !important; }
  .align-content-xl-end {
    align-content: flex-end !important; }
  .align-content-xl-center {
    align-content: center !important; }
  .align-content-xl-between {
    align-content: space-between !important; }
  .align-content-xl-around {
    align-content: space-around !important; }
  .align-content-xl-stretch {
    align-content: stretch !important; }
  .align-self-xl-auto {
    align-self: auto !important; }
  .align-self-xl-start {
    align-self: flex-start !important; }
  .align-self-xl-end {
    align-self: flex-end !important; }
  .align-self-xl-center {
    align-self: center !important; }
  .align-self-xl-baseline {
    align-self: baseline !important; }
  .align-self-xl-stretch {
    align-self: stretch !important; } }

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

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

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

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

.overflow-auto {
  overflow: auto !important; }

.overflow-hidden {
  overflow: hidden !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-sticky {
  position: sticky !important; }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020; } }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal; }

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }

.shadow-none {
  box-shadow: none !important; }

.w-25 {
  width: 25% !important; }

.w-50 {
  width: 50% !important; }

.w-75 {
  width: 75% !important; }

.w-100 {
  width: 100% !important; }

.w-auto {
  width: auto !important; }

.h-25 {
  height: 25% !important; }

.h-50 {
  height: 50% !important; }

.h-75 {
  height: 75% !important; }

.h-100 {
  height: 100% !important; }

.h-auto {
  height: auto !important; }

.mw-100 {
  max-width: 100% !important; }

.mh-100 {
  max-height: 100% !important; }

.min-vw-100 {
  min-width: 100vw !important; }

.min-vh-100 {
  min-height: 100vh !important; }

.vw-100 {
  width: 100vw !important; }

.vh-100 {
  height: 100vh !important; }

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0); }

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-1 {
  margin: 0.25rem !important; }

.mt-1,
.my-1 {
  margin-top: 0.25rem !important; }

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important; }

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important; }

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important; }

.m-2 {
  margin: 0.5rem !important; }

.mt-2,
.my-2 {
  margin-top: 0.5rem !important; }

.mr-2,
.mx-2 {
  margin-right: 0.5rem !important; }

.mb-2,
.my-2 {
  margin-bottom: 0.5rem !important; }

.ml-2,
.mx-2 {
  margin-left: 0.5rem !important; }

.m-3 {
  margin: 1rem !important; }

.mt-3,
.my-3 {
  margin-top: 1rem !important; }

.mr-3,
.mx-3 {
  margin-right: 1rem !important; }

.mb-3,
.my-3 {
  margin-bottom: 1rem !important; }

.ml-3,
.mx-3 {
  margin-left: 1rem !important; }

.m-4 {
  margin: 1.5rem !important; }

.mt-4,
.my-4 {
  margin-top: 1.5rem !important; }

.mr-4,
.mx-4 {
  margin-right: 1.5rem !important; }

.mb-4,
.my-4 {
  margin-bottom: 1.5rem !important; }

.ml-4,
.mx-4 {
  margin-left: 1.5rem !important; }

.m-5 {
  margin: 3rem !important; }

.mt-5,
.my-5 {
  margin-top: 3rem !important; }

.mr-5,
.mx-5 {
  margin-right: 3rem !important; }

.mb-5,
.my-5 {
  margin-bottom: 3rem !important; }

.ml-5,
.mx-5 {
  margin-left: 3rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

.pt-1,
.py-1 {
  padding-top: 0.25rem !important; }

.pr-1,
.px-1 {
  padding-right: 0.25rem !important; }

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important; }

.pl-1,
.px-1 {
  padding-left: 0.25rem !important; }

.p-2 {
  padding: 0.5rem !important; }

.pt-2,
.py-2 {
  padding-top: 0.5rem !important; }

.pr-2,
.px-2 {
  padding-right: 0.5rem !important; }

.pb-2,
.py-2 {
  padding-bottom: 0.5rem !important; }

.pl-2,
.px-2 {
  padding-left: 0.5rem !important; }

.p-3 {
  padding: 1rem !important; }

.pt-3,
.py-3 {
  padding-top: 1rem !important; }

.pr-3,
.px-3 {
  padding-right: 1rem !important; }

.pb-3,
.py-3 {
  padding-bottom: 1rem !important; }

.pl-3,
.px-3 {
  padding-left: 1rem !important; }

.p-4 {
  padding: 1.5rem !important; }

.pt-4,
.py-4 {
  padding-top: 1.5rem !important; }

.pr-4,
.px-4 {
  padding-right: 1.5rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 1.5rem !important; }

.pl-4,
.px-4 {
  padding-left: 1.5rem !important; }

.p-5 {
  padding: 3rem !important; }

.pt-5,
.py-5 {
  padding-top: 3rem !important; }

.pr-5,
.px-5 {
  padding-right: 3rem !important; }

.pb-5,
.py-5 {
  padding-bottom: 3rem !important; }

.pl-5,
.px-5 {
  padding-left: 3rem !important; }

.m-n1 {
  margin: -0.25rem !important; }

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important; }

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important; }

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important; }

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important; }

.m-n2 {
  margin: -0.5rem !important; }

.mt-n2,
.my-n2 {
  margin-top: -0.5rem !important; }

.mr-n2,
.mx-n2 {
  margin-right: -0.5rem !important; }

.mb-n2,
.my-n2 {
  margin-bottom: -0.5rem !important; }

.ml-n2,
.mx-n2 {
  margin-left: -0.5rem !important; }

.m-n3 {
  margin: -1rem !important; }

.mt-n3,
.my-n3 {
  margin-top: -1rem !important; }

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important; }

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important; }

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important; }

.m-n4 {
  margin: -1.5rem !important; }

.mt-n4,
.my-n4 {
  margin-top: -1.5rem !important; }

.mr-n4,
.mx-n4 {
  margin-right: -1.5rem !important; }

.mb-n4,
.my-n4 {
  margin-bottom: -1.5rem !important; }

.ml-n4,
.mx-n4 {
  margin-left: -1.5rem !important; }

.m-n5 {
  margin: -3rem !important; }

.mt-n5,
.my-n5 {
  margin-top: -3rem !important; }

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important; }

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important; }

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important; }
  .m-sm-2 {
    margin: 0.5rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 0.5rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 0.5rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 0.5rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 0.5rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important; }
  .m-sm-4 {
    margin: 1.5rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 1.5rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 1.5rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 1.5rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 1.5rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important; }
  .p-sm-2 {
    padding: 0.5rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 0.5rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 0.5rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 0.5rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 0.5rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important; }
  .p-sm-4 {
    padding: 1.5rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 1.5rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 1.5rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 1.5rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 1.5rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important; }
  .m-sm-n1 {
    margin: -0.25rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important; }
  .m-sm-n2 {
    margin: -0.5rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -0.5rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -0.5rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -0.5rem !important; }
  .m-sm-n3 {
    margin: -1rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important; }
  .m-sm-n4 {
    margin: -1.5rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -1.5rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -1.5rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -1.5rem !important; }
  .m-sm-n5 {
    margin: -3rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important; }
  .m-md-2 {
    margin: 0.5rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 0.5rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 0.5rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 0.5rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 0.5rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important; }
  .m-md-4 {
    margin: 1.5rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 1.5rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 1.5rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 1.5rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 1.5rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important; }
  .p-md-2 {
    padding: 0.5rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 0.5rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 0.5rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 0.5rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 0.5rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important; }
  .p-md-4 {
    padding: 1.5rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 1.5rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 1.5rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 1.5rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 1.5rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important; }
  .m-md-n1 {
    margin: -0.25rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important; }
  .m-md-n2 {
    margin: -0.5rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -0.5rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -0.5rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -0.5rem !important; }
  .m-md-n3 {
    margin: -1rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important; }
  .m-md-n4 {
    margin: -1.5rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -1.5rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -1.5rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -1.5rem !important; }
  .m-md-n5 {
    margin: -3rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important; }
  .m-lg-2 {
    margin: 0.5rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 0.5rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 0.5rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 0.5rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 0.5rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important; }
  .m-lg-4 {
    margin: 1.5rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 1.5rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 1.5rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 1.5rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 1.5rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important; }
  .p-lg-2 {
    padding: 0.5rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 0.5rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 0.5rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 0.5rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 0.5rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important; }
  .p-lg-4 {
    padding: 1.5rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 1.5rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 1.5rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 1.5rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 1.5rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important; }
  .m-lg-n1 {
    margin: -0.25rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important; }
  .m-lg-n2 {
    margin: -0.5rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -0.5rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -0.5rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -0.5rem !important; }
  .m-lg-n3 {
    margin: -1rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important; }
  .m-lg-n4 {
    margin: -1.5rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -1.5rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -1.5rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -1.5rem !important; }
  .m-lg-n5 {
    margin: -3rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important; }
  .m-xl-2 {
    margin: 0.5rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 0.5rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 0.5rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 0.5rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 0.5rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important; }
  .m-xl-4 {
    margin: 1.5rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 1.5rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 1.5rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 1.5rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 1.5rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important; }
  .p-xl-2 {
    padding: 0.5rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 0.5rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 0.5rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 0.5rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 0.5rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important; }
  .p-xl-4 {
    padding: 1.5rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 1.5rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 1.5rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 1.5rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 1.5rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important; }
  .m-xl-n1 {
    margin: -0.25rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important; }
  .m-xl-n2 {
    margin: -0.5rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -0.5rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -0.5rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -0.5rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -0.5rem !important; }
  .m-xl-n3 {
    margin: -1rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important; }
  .m-xl-n4 {
    margin: -1.5rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -1.5rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -1.5rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -1.5rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -1.5rem !important; }
  .m-xl-n5 {
    margin: -3rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

.text-monospace {
  font-family: Consolas, "Liberation Mono", Courier, monospace !important; }

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

.text-wrap {
  white-space: normal !important; }

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

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important; }
  .text-lg-right {
    text-align: right !important; }
  .text-lg-center {
    text-align: center !important; } }

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important; }
  .text-xl-right {
    text-align: right !important; }
  .text-xl-center {
    text-align: center !important; } }

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

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

.text-capitalize {
  text-transform: capitalize !important; }

.font-weight-light {
  font-weight: 300 !important; }

.font-weight-lighter {
  font-weight: lighter !important; }

.font-weight-normal {
  font-weight: 400 !important; }

.font-weight-bold {
  font-weight: 700 !important; }

.font-weight-bolder {
  font-weight: bolder !important; }

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

.text-white {
  color: #fff !important; }

.text-primary {
  color: #0053ff !important; }

a.text-primary:hover, a.text-primary:focus {
  color: #003ab3 !important; }

.text-secondary {
  color: #6c757d !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important; }

.text-success {
  color: #28a745 !important; }

a.text-success:hover, a.text-success:focus {
  color: #19692c !important; }

.text-info {
  color: #17a2b8 !important; }

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important; }

.text-warning {
  color: #ffc107 !important; }

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important; }

.text-danger {
  color: #dc3545 !important; }

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important; }

.text-light {
  color: #f8f9fa !important; }

a.text-light:hover, a.text-light:focus {
  color: #cbd3da !important; }

.text-dark {
  color: #343a40 !important; }

a.text-dark:hover, a.text-dark:focus {
  color: #121416 !important; }

.text-body {
  color: #000 !important; }

.text-muted {
  color: #6c757d !important; }

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important; }

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.text-decoration-none {
  text-decoration: none !important; }

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important; }

.text-reset {
  color: inherit !important; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      transition: none; } }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000; }
  .form-control:focus {
    color: #000;
    background-color: #fff;
    border-color: #80a9ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
  .form-control::placeholder {
    color: #cacaca;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1; }

select.form-control:focus::-ms-value {
  color: #000;
  background-color: #fff; }

.form-control-file,
.form-control-range {
  display: block;
  width: 100%; }

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5; }

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5; }

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #000;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5; }

select.form-control[size], select.form-control[multiple] {
  height: auto; }

textarea.form-control {
  height: auto; }

.form-group {
  margin-bottom: 1rem; }

.form-text {
  display: block;
  margin-top: 0.25rem; }

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px; }

.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem; }

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem; }
  .form-check-input[disabled] ~ .form-check-label,
  .form-check-input:disabled ~ .form-check-label {
    color: #6c757d; }

.form-check-label {
  margin-bottom: 0; }

.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem; }
  .form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0; }

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 72%;
  color: #28a745; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 72%;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9); }

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745; }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745; }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57; }

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 72%;
  color: #dc3545; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 72%;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9); }

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545; }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545; }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d; }

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: flex;
      flex: 0 0 auto;
      flex-flow: row wrap;
      align-items: center;
      margin-bottom: 0; }
    .form-inline .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .form-inline .form-control-plaintext {
      display: inline-block; }
    .form-inline .input-group,
    .form-inline .custom-select {
      width: auto; }
    .form-inline .form-check {
      display: flex;
      align-items: center;
      justify-content: center;
      width: auto;
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      flex-shrink: 0;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      align-items: center;
      justify-content: center; }
    .form-inline .custom-control-label {
      margin-bottom: 0; } }

.custom-control {
  position: relative;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem; }

.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem; }

.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #0053ff;
    background-color: #0053ff; }
  .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #80a9ff; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3cbff;
    border-color: #b3cbff; }
  .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .custom-control-label::before {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px; }
  .custom-control-label::after {
    position: absolute;
    top: 0.25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50% / 50% 50%; }

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #0053ff;
  background-color: #0053ff; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 83, 255, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 83, 255, 0.5); }

.custom-radio .custom-control-label::before {
  border-radius: 50%; }

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 83, 255, 0.5); }

.custom-switch {
  padding-left: 2.25rem; }
  .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .custom-switch .custom-control-label::after {
    top: calc(0.25rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: 0.5rem;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .custom-switch .custom-control-label::after {
        transition: none; } }
  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 83, 255, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000;
  vertical-align: middle;
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  border: 1px solid #ced4da;
  border-radius: 0;
  appearance: none; }
  .custom-select:focus {
    border-color: #80a9ff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
    .custom-select:focus::-ms-value {
      color: #000;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .custom-select:disabled {
    color: #6c757d;
    background-color: #e9ecef; }
  .custom-select::-ms-expand {
    display: none; }
  .custom-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000; }

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem; }

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem; }

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #80a9ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
  .custom-file-input[disabled] ~ .custom-file-label,
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9ecef; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-family: inherit;
  font-weight: normal;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  border: 1px solid #ced4da; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.5em + 0.75rem);
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    color: #000;
    content: "Browse";
    background-color: #e9ecef;
    border-left: inherit; }

.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none; }
  .custom-range:focus {
    outline: none; }
    .custom-range:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 1px #FFF, 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #FFF, 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #FFF, 0 0 0 0.2rem rgba(0, 83, 255, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #0053ff;
    border: 0;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-webkit-slider-thumb {
        transition: none; } }
    .custom-range::-webkit-slider-thumb:active {
      background-color: #b3cbff; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #0053ff;
    border: 0;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-moz-range-thumb {
        transition: none; } }
    .custom-range::-moz-range-thumb:active {
      background-color: #b3cbff; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #0053ff;
    border: 0;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-ms-thumb {
        transition: none; } }
    .custom-range::-ms-thumb:active {
      background-color: #b3cbff; }
  .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .custom-range::-ms-fill-lower {
    background-color: #dee2e6; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.custom-control-label::before,
.custom-file-label,
.custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      transition: none; } }

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("/assets/bower_components/font-awesome/fonts//fontawesome-webfont.eot?v=4.7.0");
  src: url("/assets/bower_components/font-awesome/fonts//fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("/assets/bower_components/font-awesome/fonts//fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("/assets/bower_components/font-awesome/fonts//fontawesome-webfont.woff?v=4.7.0") format("woff"), url("/assets/bower_components/font-awesome/fonts//fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("/assets/bower_components/font-awesome/fonts//fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center; }
  .fa-li.fa-lg {
    left: -1.85714em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: ""; }

.fa-music:before {
  content: ""; }

.fa-search:before {
  content: ""; }

.fa-envelope-o:before {
  content: ""; }

.fa-heart:before {
  content: ""; }

.fa-star:before {
  content: ""; }

.fa-star-o:before {
  content: ""; }

.fa-user:before {
  content: ""; }

.fa-film:before {
  content: ""; }

.fa-th-large:before {
  content: ""; }

.fa-th:before {
  content: ""; }

.fa-th-list:before {
  content: ""; }

.fa-check:before {
  content: ""; }

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: ""; }

.fa-search-plus:before {
  content: ""; }

.fa-search-minus:before {
  content: ""; }

.fa-power-off:before {
  content: ""; }

.fa-signal:before {
  content: ""; }

.fa-gear:before,
.fa-cog:before {
  content: ""; }

.fa-trash-o:before {
  content: ""; }

.fa-home:before {
  content: ""; }

.fa-file-o:before {
  content: ""; }

.fa-clock-o:before {
  content: ""; }

.fa-road:before {
  content: ""; }

.fa-download:before {
  content: ""; }

.fa-arrow-circle-o-down:before {
  content: ""; }

.fa-arrow-circle-o-up:before {
  content: ""; }

.fa-inbox:before {
  content: ""; }

.fa-play-circle-o:before {
  content: ""; }

.fa-rotate-right:before,
.fa-repeat:before {
  content: ""; }

.fa-refresh:before {
  content: ""; }

.fa-list-alt:before {
  content: ""; }

.fa-lock:before {
  content: ""; }

.fa-flag:before {
  content: ""; }

.fa-headphones:before {
  content: ""; }

.fa-volume-off:before {
  content: ""; }

.fa-volume-down:before {
  content: ""; }

.fa-volume-up:before {
  content: ""; }

.fa-qrcode:before {
  content: ""; }

.fa-barcode:before {
  content: ""; }

.fa-tag:before {
  content: ""; }

.fa-tags:before {
  content: ""; }

.fa-book:before {
  content: ""; }

.fa-bookmark:before {
  content: ""; }

.fa-print:before {
  content: ""; }

.fa-camera:before {
  content: ""; }

.fa-font:before {
  content: ""; }

.fa-bold:before {
  content: ""; }

.fa-italic:before {
  content: ""; }

.fa-text-height:before {
  content: ""; }

.fa-text-width:before {
  content: ""; }

.fa-align-left:before {
  content: ""; }

.fa-align-center:before {
  content: ""; }

.fa-align-right:before {
  content: ""; }

.fa-align-justify:before {
  content: ""; }

.fa-list:before {
  content: ""; }

.fa-dedent:before,
.fa-outdent:before {
  content: ""; }

.fa-indent:before {
  content: ""; }

.fa-video-camera:before {
  content: ""; }

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: ""; }

.fa-pencil:before {
  content: ""; }

.fa-map-marker:before {
  content: ""; }

.fa-adjust:before {
  content: ""; }

.fa-tint:before {
  content: ""; }

.fa-edit:before,
.fa-pencil-square-o:before {
  content: ""; }

.fa-share-square-o:before {
  content: ""; }

.fa-check-square-o:before {
  content: ""; }

.fa-arrows:before {
  content: ""; }

.fa-step-backward:before {
  content: ""; }

.fa-fast-backward:before {
  content: ""; }

.fa-backward:before {
  content: ""; }

.fa-play:before {
  content: ""; }

.fa-pause:before {
  content: ""; }

.fa-stop:before {
  content: ""; }

.fa-forward:before {
  content: ""; }

.fa-fast-forward:before {
  content: ""; }

.fa-step-forward:before {
  content: ""; }

.fa-eject:before {
  content: ""; }

.fa-chevron-left:before {
  content: ""; }

.fa-chevron-right:before {
  content: ""; }

.fa-plus-circle:before {
  content: ""; }

.fa-minus-circle:before {
  content: ""; }

.fa-times-circle:before {
  content: ""; }

.fa-check-circle:before {
  content: ""; }

.fa-question-circle:before {
  content: ""; }

.fa-info-circle:before {
  content: ""; }

.fa-crosshairs:before {
  content: ""; }

.fa-times-circle-o:before {
  content: ""; }

.fa-check-circle-o:before {
  content: ""; }

.fa-ban:before {
  content: ""; }

.fa-arrow-left:before {
  content: ""; }

.fa-arrow-right:before {
  content: ""; }

.fa-arrow-up:before {
  content: ""; }

.fa-arrow-down:before {
  content: ""; }

.fa-mail-forward:before,
.fa-share:before {
  content: ""; }

.fa-expand:before {
  content: ""; }

.fa-compress:before {
  content: ""; }

.fa-plus:before {
  content: ""; }

.fa-minus:before {
  content: ""; }

.fa-asterisk:before {
  content: ""; }

.fa-exclamation-circle:before {
  content: ""; }

.fa-gift:before {
  content: ""; }

.fa-leaf:before {
  content: ""; }

.fa-fire:before {
  content: ""; }

.fa-eye:before {
  content: ""; }

.fa-eye-slash:before {
  content: ""; }

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: ""; }

.fa-plane:before {
  content: ""; }

.fa-calendar:before {
  content: ""; }

.fa-random:before {
  content: ""; }

.fa-comment:before {
  content: ""; }

.fa-magnet:before {
  content: ""; }

.fa-chevron-up:before {
  content: ""; }

.fa-chevron-down:before {
  content: ""; }

.fa-retweet:before {
  content: ""; }

.fa-shopping-cart:before {
  content: ""; }

.fa-folder:before {
  content: ""; }

.fa-folder-open:before {
  content: ""; }

.fa-arrows-v:before {
  content: ""; }

.fa-arrows-h:before {
  content: ""; }

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: ""; }

.fa-twitter-square:before {
  content: ""; }

.fa-facebook-square:before {
  content: ""; }

.fa-camera-retro:before {
  content: ""; }

.fa-key:before {
  content: ""; }

.fa-gears:before,
.fa-cogs:before {
  content: ""; }

.fa-comments:before {
  content: ""; }

.fa-thumbs-o-up:before {
  content: ""; }

.fa-thumbs-o-down:before {
  content: ""; }

.fa-star-half:before {
  content: ""; }

.fa-heart-o:before {
  content: ""; }

.fa-sign-out:before {
  content: ""; }

.fa-linkedin-square:before {
  content: ""; }

.fa-thumb-tack:before {
  content: ""; }

.fa-external-link:before {
  content: ""; }

.fa-sign-in:before {
  content: ""; }

.fa-trophy:before {
  content: ""; }

.fa-github-square:before {
  content: ""; }

.fa-upload:before {
  content: ""; }

.fa-lemon-o:before {
  content: ""; }

.fa-phone:before {
  content: ""; }

.fa-square-o:before {
  content: ""; }

.fa-bookmark-o:before {
  content: ""; }

.fa-phone-square:before {
  content: ""; }

.fa-twitter:before {
  content: ""; }

.fa-facebook-f:before,
.fa-facebook:before {
  content: ""; }

.fa-github:before {
  content: ""; }

.fa-unlock:before {
  content: ""; }

.fa-credit-card:before {
  content: ""; }

.fa-feed:before,
.fa-rss:before {
  content: ""; }

.fa-hdd-o:before {
  content: ""; }

.fa-bullhorn:before {
  content: ""; }

.fa-bell:before {
  content: ""; }

.fa-certificate:before {
  content: ""; }

.fa-hand-o-right:before {
  content: ""; }

.fa-hand-o-left:before {
  content: ""; }

.fa-hand-o-up:before {
  content: ""; }

.fa-hand-o-down:before {
  content: ""; }

.fa-arrow-circle-left:before {
  content: ""; }

.fa-arrow-circle-right:before {
  content: ""; }

.fa-arrow-circle-up:before {
  content: ""; }

.fa-arrow-circle-down:before {
  content: ""; }

.fa-globe:before {
  content: ""; }

.fa-wrench:before {
  content: ""; }

.fa-tasks:before {
  content: ""; }

.fa-filter:before {
  content: ""; }

.fa-briefcase:before {
  content: ""; }

.fa-arrows-alt:before {
  content: ""; }

.fa-group:before,
.fa-users:before {
  content: ""; }

.fa-chain:before,
.fa-link:before {
  content: ""; }

.fa-cloud:before {
  content: ""; }

.fa-flask:before {
  content: ""; }

.fa-cut:before,
.fa-scissors:before {
  content: ""; }

.fa-copy:before,
.fa-files-o:before {
  content: ""; }

.fa-paperclip:before {
  content: ""; }

.fa-save:before,
.fa-floppy-o:before {
  content: ""; }

.fa-square:before {
  content: ""; }

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: ""; }

.fa-list-ul:before {
  content: ""; }

.fa-list-ol:before {
  content: ""; }

.fa-strikethrough:before {
  content: ""; }

.fa-underline:before {
  content: ""; }

.fa-table:before {
  content: ""; }

.fa-magic:before {
  content: ""; }

.fa-truck:before {
  content: ""; }

.fa-pinterest:before {
  content: ""; }

.fa-pinterest-square:before {
  content: ""; }

.fa-google-plus-square:before {
  content: ""; }

.fa-google-plus:before {
  content: ""; }

.fa-money:before {
  content: ""; }

.fa-caret-down:before {
  content: ""; }

.fa-caret-up:before {
  content: ""; }

.fa-caret-left:before {
  content: ""; }

.fa-caret-right:before {
  content: ""; }

.fa-columns:before {
  content: ""; }

.fa-unsorted:before,
.fa-sort:before {
  content: ""; }

.fa-sort-down:before,
.fa-sort-desc:before {
  content: ""; }

.fa-sort-up:before,
.fa-sort-asc:before {
  content: ""; }

.fa-envelope:before {
  content: ""; }

.fa-linkedin:before {
  content: ""; }

.fa-rotate-left:before,
.fa-undo:before {
  content: ""; }

.fa-legal:before,
.fa-gavel:before {
  content: ""; }

.fa-dashboard:before,
.fa-tachometer:before {
  content: ""; }

.fa-comment-o:before {
  content: ""; }

.fa-comments-o:before {
  content: ""; }

.fa-flash:before,
.fa-bolt:before {
  content: ""; }

.fa-sitemap:before {
  content: ""; }

.fa-umbrella:before {
  content: ""; }

.fa-paste:before,
.fa-clipboard:before {
  content: ""; }

.fa-lightbulb-o:before {
  content: ""; }

.fa-exchange:before {
  content: ""; }

.fa-cloud-download:before {
  content: ""; }

.fa-cloud-upload:before {
  content: ""; }

.fa-user-md:before {
  content: ""; }

.fa-stethoscope:before {
  content: ""; }

.fa-suitcase:before {
  content: ""; }

.fa-bell-o:before {
  content: ""; }

.fa-coffee:before {
  content: ""; }

.fa-cutlery:before {
  content: ""; }

.fa-file-text-o:before {
  content: ""; }

.fa-building-o:before {
  content: ""; }

.fa-hospital-o:before {
  content: ""; }

.fa-ambulance:before {
  content: ""; }

.fa-medkit:before {
  content: ""; }

.fa-fighter-jet:before {
  content: ""; }

.fa-beer:before {
  content: ""; }

.fa-h-square:before {
  content: ""; }

.fa-plus-square:before {
  content: ""; }

.fa-angle-double-left:before {
  content: ""; }

.fa-angle-double-right:before {
  content: ""; }

.fa-angle-double-up:before {
  content: ""; }

.fa-angle-double-down:before {
  content: ""; }

.fa-angle-left:before {
  content: ""; }

.fa-angle-right:before {
  content: ""; }

.fa-angle-up:before {
  content: ""; }

.fa-angle-down:before {
  content: ""; }

.fa-desktop:before {
  content: ""; }

.fa-laptop:before {
  content: ""; }

.fa-tablet:before {
  content: ""; }

.fa-mobile-phone:before,
.fa-mobile:before {
  content: ""; }

.fa-circle-o:before {
  content: ""; }

.fa-quote-left:before {
  content: ""; }

.fa-quote-right:before {
  content: ""; }

.fa-spinner:before {
  content: ""; }

.fa-circle:before {
  content: ""; }

.fa-mail-reply:before,
.fa-reply:before {
  content: ""; }

.fa-github-alt:before {
  content: ""; }

.fa-folder-o:before {
  content: ""; }

.fa-folder-open-o:before {
  content: ""; }

.fa-smile-o:before {
  content: ""; }

.fa-frown-o:before {
  content: ""; }

.fa-meh-o:before {
  content: ""; }

.fa-gamepad:before {
  content: ""; }

.fa-keyboard-o:before {
  content: ""; }

.fa-flag-o:before {
  content: ""; }

.fa-flag-checkered:before {
  content: ""; }

.fa-terminal:before {
  content: ""; }

.fa-code:before {
  content: ""; }

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: ""; }

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: ""; }

.fa-location-arrow:before {
  content: ""; }

.fa-crop:before {
  content: ""; }

.fa-code-fork:before {
  content: ""; }

.fa-unlink:before,
.fa-chain-broken:before {
  content: ""; }

.fa-question:before {
  content: ""; }

.fa-info:before {
  content: ""; }

.fa-exclamation:before {
  content: ""; }

.fa-superscript:before {
  content: ""; }

.fa-subscript:before {
  content: ""; }

.fa-eraser:before {
  content: ""; }

.fa-puzzle-piece:before {
  content: ""; }

.fa-microphone:before {
  content: ""; }

.fa-microphone-slash:before {
  content: ""; }

.fa-shield:before {
  content: ""; }

.fa-calendar-o:before {
  content: ""; }

.fa-fire-extinguisher:before {
  content: ""; }

.fa-rocket:before {
  content: ""; }

.fa-maxcdn:before {
  content: ""; }

.fa-chevron-circle-left:before {
  content: ""; }

.fa-chevron-circle-right:before {
  content: ""; }

.fa-chevron-circle-up:before {
  content: ""; }

.fa-chevron-circle-down:before {
  content: ""; }

.fa-html5:before {
  content: ""; }

.fa-css3:before {
  content: ""; }

.fa-anchor:before {
  content: ""; }

.fa-unlock-alt:before {
  content: ""; }

.fa-bullseye:before {
  content: ""; }

.fa-ellipsis-h:before {
  content: ""; }

.fa-ellipsis-v:before {
  content: ""; }

.fa-rss-square:before {
  content: ""; }

.fa-play-circle:before {
  content: ""; }

.fa-ticket:before {
  content: ""; }

.fa-minus-square:before {
  content: ""; }

.fa-minus-square-o:before {
  content: ""; }

.fa-level-up:before {
  content: ""; }

.fa-level-down:before {
  content: ""; }

.fa-check-square:before {
  content: ""; }

.fa-pencil-square:before {
  content: ""; }

.fa-external-link-square:before {
  content: ""; }

.fa-share-square:before {
  content: ""; }

.fa-compass:before {
  content: ""; }

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: ""; }

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: ""; }

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: ""; }

.fa-euro:before,
.fa-eur:before {
  content: ""; }

.fa-gbp:before {
  content: ""; }

.fa-dollar:before,
.fa-usd:before {
  content: ""; }

.fa-rupee:before,
.fa-inr:before {
  content: ""; }

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: ""; }

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: ""; }

.fa-won:before,
.fa-krw:before {
  content: ""; }

.fa-bitcoin:before,
.fa-btc:before {
  content: ""; }

.fa-file:before {
  content: ""; }

.fa-file-text:before {
  content: ""; }

.fa-sort-alpha-asc:before {
  content: ""; }

.fa-sort-alpha-desc:before {
  content: ""; }

.fa-sort-amount-asc:before {
  content: ""; }

.fa-sort-amount-desc:before {
  content: ""; }

.fa-sort-numeric-asc:before {
  content: ""; }

.fa-sort-numeric-desc:before {
  content: ""; }

.fa-thumbs-up:before {
  content: ""; }

.fa-thumbs-down:before {
  content: ""; }

.fa-youtube-square:before {
  content: ""; }

.fa-youtube:before {
  content: ""; }

.fa-xing:before {
  content: ""; }

.fa-xing-square:before {
  content: ""; }

.fa-youtube-play:before {
  content: ""; }

.fa-dropbox:before {
  content: ""; }

.fa-stack-overflow:before {
  content: ""; }

.fa-instagram:before {
  content: ""; }

.fa-flickr:before {
  content: ""; }

.fa-adn:before {
  content: ""; }

.fa-bitbucket:before {
  content: ""; }

.fa-bitbucket-square:before {
  content: ""; }

.fa-tumblr:before {
  content: ""; }

.fa-tumblr-square:before {
  content: ""; }

.fa-long-arrow-down:before {
  content: ""; }

.fa-long-arrow-up:before {
  content: ""; }

.fa-long-arrow-left:before {
  content: ""; }

.fa-long-arrow-right:before {
  content: ""; }

.fa-apple:before {
  content: ""; }

.fa-windows:before {
  content: ""; }

.fa-android:before {
  content: ""; }

.fa-linux:before {
  content: ""; }

.fa-dribbble:before {
  content: ""; }

.fa-skype:before {
  content: ""; }

.fa-foursquare:before {
  content: ""; }

.fa-trello:before {
  content: ""; }

.fa-female:before {
  content: ""; }

.fa-male:before {
  content: ""; }

.fa-gittip:before,
.fa-gratipay:before {
  content: ""; }

.fa-sun-o:before {
  content: ""; }

.fa-moon-o:before {
  content: ""; }

.fa-archive:before {
  content: ""; }

.fa-bug:before {
  content: ""; }

.fa-vk:before {
  content: ""; }

.fa-weibo:before {
  content: ""; }

.fa-renren:before {
  content: ""; }

.fa-pagelines:before {
  content: ""; }

.fa-stack-exchange:before {
  content: ""; }

.fa-arrow-circle-o-right:before {
  content: ""; }

.fa-arrow-circle-o-left:before {
  content: ""; }

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: ""; }

.fa-dot-circle-o:before {
  content: ""; }

.fa-wheelchair:before {
  content: ""; }

.fa-vimeo-square:before {
  content: ""; }

.fa-turkish-lira:before,
.fa-try:before {
  content: ""; }

.fa-plus-square-o:before {
  content: ""; }

.fa-space-shuttle:before {
  content: ""; }

.fa-slack:before {
  content: ""; }

.fa-envelope-square:before {
  content: ""; }

.fa-wordpress:before {
  content: ""; }

.fa-openid:before {
  content: ""; }

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: ""; }

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: ""; }

.fa-yahoo:before {
  content: ""; }

.fa-google:before {
  content: ""; }

.fa-reddit:before {
  content: ""; }

.fa-reddit-square:before {
  content: ""; }

.fa-stumbleupon-circle:before {
  content: ""; }

.fa-stumbleupon:before {
  content: ""; }

.fa-delicious:before {
  content: ""; }

.fa-digg:before {
  content: ""; }

.fa-pied-piper-pp:before {
  content: ""; }

.fa-pied-piper-alt:before {
  content: ""; }

.fa-drupal:before {
  content: ""; }

.fa-joomla:before {
  content: ""; }

.fa-language:before {
  content: ""; }

.fa-fax:before {
  content: ""; }

.fa-building:before {
  content: ""; }

.fa-child:before {
  content: ""; }

.fa-paw:before {
  content: ""; }

.fa-spoon:before {
  content: ""; }

.fa-cube:before {
  content: ""; }

.fa-cubes:before {
  content: ""; }

.fa-behance:before {
  content: ""; }

.fa-behance-square:before {
  content: ""; }

.fa-steam:before {
  content: ""; }

.fa-steam-square:before {
  content: ""; }

.fa-recycle:before {
  content: ""; }

.fa-automobile:before,
.fa-car:before {
  content: ""; }

.fa-cab:before,
.fa-taxi:before {
  content: ""; }

.fa-tree:before {
  content: ""; }

.fa-spotify:before {
  content: ""; }

.fa-deviantart:before {
  content: ""; }

.fa-soundcloud:before {
  content: ""; }

.fa-database:before {
  content: ""; }

.fa-file-pdf-o:before {
  content: ""; }

.fa-file-word-o:before {
  content: ""; }

.fa-file-excel-o:before {
  content: ""; }

.fa-file-powerpoint-o:before {
  content: ""; }

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: ""; }

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: ""; }

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: ""; }

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: ""; }

.fa-file-code-o:before {
  content: ""; }

.fa-vine:before {
  content: ""; }

.fa-codepen:before {
  content: ""; }

.fa-jsfiddle:before {
  content: ""; }

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: ""; }

.fa-circle-o-notch:before {
  content: ""; }

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: ""; }

.fa-ge:before,
.fa-empire:before {
  content: ""; }

.fa-git-square:before {
  content: ""; }

.fa-git:before {
  content: ""; }

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: ""; }

.fa-tencent-weibo:before {
  content: ""; }

.fa-qq:before {
  content: ""; }

.fa-wechat:before,
.fa-weixin:before {
  content: ""; }

.fa-send:before,
.fa-paper-plane:before {
  content: ""; }

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: ""; }

.fa-history:before {
  content: ""; }

.fa-circle-thin:before {
  content: ""; }

.fa-header:before {
  content: ""; }

.fa-paragraph:before {
  content: ""; }

.fa-sliders:before {
  content: ""; }

.fa-share-alt:before {
  content: ""; }

.fa-share-alt-square:before {
  content: ""; }

.fa-bomb:before {
  content: ""; }

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: ""; }

.fa-tty:before {
  content: ""; }

.fa-binoculars:before {
  content: ""; }

.fa-plug:before {
  content: ""; }

.fa-slideshare:before {
  content: ""; }

.fa-twitch:before {
  content: ""; }

.fa-yelp:before {
  content: ""; }

.fa-newspaper-o:before {
  content: ""; }

.fa-wifi:before {
  content: ""; }

.fa-calculator:before {
  content: ""; }

.fa-paypal:before {
  content: ""; }

.fa-google-wallet:before {
  content: ""; }

.fa-cc-visa:before {
  content: ""; }

.fa-cc-mastercard:before {
  content: ""; }

.fa-cc-discover:before {
  content: ""; }

.fa-cc-amex:before {
  content: ""; }

.fa-cc-paypal:before {
  content: ""; }

.fa-cc-stripe:before {
  content: ""; }

.fa-bell-slash:before {
  content: ""; }

.fa-bell-slash-o:before {
  content: ""; }

.fa-trash:before {
  content: ""; }

.fa-copyright:before {
  content: ""; }

.fa-at:before {
  content: ""; }

.fa-eyedropper:before {
  content: ""; }

.fa-paint-brush:before {
  content: ""; }

.fa-birthday-cake:before {
  content: ""; }

.fa-area-chart:before {
  content: ""; }

.fa-pie-chart:before {
  content: ""; }

.fa-line-chart:before {
  content: ""; }

.fa-lastfm:before {
  content: ""; }

.fa-lastfm-square:before {
  content: ""; }

.fa-toggle-off:before {
  content: ""; }

.fa-toggle-on:before {
  content: ""; }

.fa-bicycle:before {
  content: ""; }

.fa-bus:before {
  content: ""; }

.fa-ioxhost:before {
  content: ""; }

.fa-angellist:before {
  content: ""; }

.fa-cc:before {
  content: ""; }

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: ""; }

.fa-meanpath:before {
  content: ""; }

.fa-buysellads:before {
  content: ""; }

.fa-connectdevelop:before {
  content: ""; }

.fa-dashcube:before {
  content: ""; }

.fa-forumbee:before {
  content: ""; }

.fa-leanpub:before {
  content: ""; }

.fa-sellsy:before {
  content: ""; }

.fa-shirtsinbulk:before {
  content: ""; }

.fa-simplybuilt:before {
  content: ""; }

.fa-skyatlas:before {
  content: ""; }

.fa-cart-plus:before {
  content: ""; }

.fa-cart-arrow-down:before {
  content: ""; }

.fa-diamond:before {
  content: ""; }

.fa-ship:before {
  content: ""; }

.fa-user-secret:before {
  content: ""; }

.fa-motorcycle:before {
  content: ""; }

.fa-street-view:before {
  content: ""; }

.fa-heartbeat:before {
  content: ""; }

.fa-venus:before {
  content: ""; }

.fa-mars:before {
  content: ""; }

.fa-mercury:before {
  content: ""; }

.fa-intersex:before,
.fa-transgender:before {
  content: ""; }

.fa-transgender-alt:before {
  content: ""; }

.fa-venus-double:before {
  content: ""; }

.fa-mars-double:before {
  content: ""; }

.fa-venus-mars:before {
  content: ""; }

.fa-mars-stroke:before {
  content: ""; }

.fa-mars-stroke-v:before {
  content: ""; }

.fa-mars-stroke-h:before {
  content: ""; }

.fa-neuter:before {
  content: ""; }

.fa-genderless:before {
  content: ""; }

.fa-facebook-official:before {
  content: ""; }

.fa-pinterest-p:before {
  content: ""; }

.fa-whatsapp:before {
  content: ""; }

.fa-server:before {
  content: ""; }

.fa-user-plus:before {
  content: ""; }

.fa-user-times:before {
  content: ""; }

.fa-hotel:before,
.fa-bed:before {
  content: ""; }

.fa-viacoin:before {
  content: ""; }

.fa-train:before {
  content: ""; }

.fa-subway:before {
  content: ""; }

.fa-medium:before {
  content: ""; }

.fa-yc:before,
.fa-y-combinator:before {
  content: ""; }

.fa-optin-monster:before {
  content: ""; }

.fa-opencart:before {
  content: ""; }

.fa-expeditedssl:before {
  content: ""; }

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: ""; }

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: ""; }

.fa-battery-2:before,
.fa-battery-half:before {
  content: ""; }

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: ""; }

.fa-battery-0:before,
.fa-battery-empty:before {
  content: ""; }

.fa-mouse-pointer:before {
  content: ""; }

.fa-i-cursor:before {
  content: ""; }

.fa-object-group:before {
  content: ""; }

.fa-object-ungroup:before {
  content: ""; }

.fa-sticky-note:before {
  content: ""; }

.fa-sticky-note-o:before {
  content: ""; }

.fa-cc-jcb:before {
  content: ""; }

.fa-cc-diners-club:before {
  content: ""; }

.fa-clone:before {
  content: ""; }

.fa-balance-scale:before {
  content: ""; }

.fa-hourglass-o:before {
  content: ""; }

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: ""; }

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: ""; }

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: ""; }

.fa-hourglass:before {
  content: ""; }

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: ""; }

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: ""; }

.fa-hand-scissors-o:before {
  content: ""; }

.fa-hand-lizard-o:before {
  content: ""; }

.fa-hand-spock-o:before {
  content: ""; }

.fa-hand-pointer-o:before {
  content: ""; }

.fa-hand-peace-o:before {
  content: ""; }

.fa-trademark:before {
  content: ""; }

.fa-registered:before {
  content: ""; }

.fa-creative-commons:before {
  content: ""; }

.fa-gg:before {
  content: ""; }

.fa-gg-circle:before {
  content: ""; }

.fa-tripadvisor:before {
  content: ""; }

.fa-odnoklassniki:before {
  content: ""; }

.fa-odnoklassniki-square:before {
  content: ""; }

.fa-get-pocket:before {
  content: ""; }

.fa-wikipedia-w:before {
  content: ""; }

.fa-safari:before {
  content: ""; }

.fa-chrome:before {
  content: ""; }

.fa-firefox:before {
  content: ""; }

.fa-opera:before {
  content: ""; }

.fa-internet-explorer:before {
  content: ""; }

.fa-tv:before,
.fa-television:before {
  content: ""; }

.fa-contao:before {
  content: ""; }

.fa-500px:before {
  content: ""; }

.fa-amazon:before {
  content: ""; }

.fa-calendar-plus-o:before {
  content: ""; }

.fa-calendar-minus-o:before {
  content: ""; }

.fa-calendar-times-o:before {
  content: ""; }

.fa-calendar-check-o:before {
  content: ""; }

.fa-industry:before {
  content: ""; }

.fa-map-pin:before {
  content: ""; }

.fa-map-signs:before {
  content: ""; }

.fa-map-o:before {
  content: ""; }

.fa-map:before {
  content: ""; }

.fa-commenting:before {
  content: ""; }

.fa-commenting-o:before {
  content: ""; }

.fa-houzz:before {
  content: ""; }

.fa-vimeo:before {
  content: ""; }

.fa-black-tie:before {
  content: ""; }

.fa-fonticons:before {
  content: ""; }

.fa-reddit-alien:before {
  content: ""; }

.fa-edge:before {
  content: ""; }

.fa-credit-card-alt:before {
  content: ""; }

.fa-codiepie:before {
  content: ""; }

.fa-modx:before {
  content: ""; }

.fa-fort-awesome:before {
  content: ""; }

.fa-usb:before {
  content: ""; }

.fa-product-hunt:before {
  content: ""; }

.fa-mixcloud:before {
  content: ""; }

.fa-scribd:before {
  content: ""; }

.fa-pause-circle:before {
  content: ""; }

.fa-pause-circle-o:before {
  content: ""; }

.fa-stop-circle:before {
  content: ""; }

.fa-stop-circle-o:before {
  content: ""; }

.fa-shopping-bag:before {
  content: ""; }

.fa-shopping-basket:before {
  content: ""; }

.fa-hashtag:before {
  content: ""; }

.fa-bluetooth:before {
  content: ""; }

.fa-bluetooth-b:before {
  content: ""; }

.fa-percent:before {
  content: ""; }

.fa-gitlab:before {
  content: ""; }

.fa-wpbeginner:before {
  content: ""; }

.fa-wpforms:before {
  content: ""; }

.fa-envira:before {
  content: ""; }

.fa-universal-access:before {
  content: ""; }

.fa-wheelchair-alt:before {
  content: ""; }

.fa-question-circle-o:before {
  content: ""; }

.fa-blind:before {
  content: ""; }

.fa-audio-description:before {
  content: ""; }

.fa-volume-control-phone:before {
  content: ""; }

.fa-braille:before {
  content: ""; }

.fa-assistive-listening-systems:before {
  content: ""; }

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: ""; }

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: ""; }

.fa-glide:before {
  content: ""; }

.fa-glide-g:before {
  content: ""; }

.fa-signing:before,
.fa-sign-language:before {
  content: ""; }

.fa-low-vision:before {
  content: ""; }

.fa-viadeo:before {
  content: ""; }

.fa-viadeo-square:before {
  content: ""; }

.fa-snapchat:before {
  content: ""; }

.fa-snapchat-ghost:before {
  content: ""; }

.fa-snapchat-square:before {
  content: ""; }

.fa-pied-piper:before {
  content: ""; }

.fa-first-order:before {
  content: ""; }

.fa-yoast:before {
  content: ""; }

.fa-themeisle:before {
  content: ""; }

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: ""; }

.fa-fa:before,
.fa-font-awesome:before {
  content: ""; }

.fa-handshake-o:before {
  content: ""; }

.fa-envelope-open:before {
  content: ""; }

.fa-envelope-open-o:before {
  content: ""; }

.fa-linode:before {
  content: ""; }

.fa-address-book:before {
  content: ""; }

.fa-address-book-o:before {
  content: ""; }

.fa-vcard:before,
.fa-address-card:before {
  content: ""; }

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: ""; }

.fa-user-circle:before {
  content: ""; }

.fa-user-circle-o:before {
  content: ""; }

.fa-user-o:before {
  content: ""; }

.fa-id-badge:before {
  content: ""; }

.fa-drivers-license:before,
.fa-id-card:before {
  content: ""; }

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: ""; }

.fa-quora:before {
  content: ""; }

.fa-free-code-camp:before {
  content: ""; }

.fa-telegram:before {
  content: ""; }

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: ""; }

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: ""; }

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: ""; }

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: ""; }

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: ""; }

.fa-shower:before {
  content: ""; }

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: ""; }

.fa-podcast:before {
  content: ""; }

.fa-window-maximize:before {
  content: ""; }

.fa-window-minimize:before {
  content: ""; }

.fa-window-restore:before {
  content: ""; }

.fa-times-rectangle:before,
.fa-window-close:before {
  content: ""; }

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: ""; }

.fa-bandcamp:before {
  content: ""; }

.fa-grav:before {
  content: ""; }

.fa-etsy:before {
  content: ""; }

.fa-imdb:before {
  content: ""; }

.fa-ravelry:before {
  content: ""; }

.fa-eercast:before {
  content: ""; }

.fa-microchip:before {
  content: ""; }

.fa-snowflake-o:before {
  content: ""; }

.fa-superpowers:before {
  content: ""; }

.fa-wpexplorer:before {
  content: ""; }

.fa-meetup:before {
  content: ""; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

.bold {
  font-weight: bold; }

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

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

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

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

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

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

/*************** SCROLLBAR BASE CSS ***************/
.scroll-wrapper {
  overflow: hidden !important;
  padding: 0 !important;
  position: relative; }
  .scroll-wrapper > .scroll-content {
    border: none !important;
    box-sizing: content-box !important;
    height: auto;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none !important;
    overflow: scroll !important;
    padding: 0;
    position: relative !important;
    top: 0;
    width: auto !important; }
    .scroll-wrapper > .scroll-content::-webkit-scrollbar {
      height: 0;
      width: 0; }
  .scroll-wrapper.scroll--rtl {
    direction: rtl; }

.scroll-element {
  box-sizing: content-box;
  display: none; }
  .scroll-element div {
    box-sizing: content-box; }
  .scroll-element .scroll-bar,
  .scroll-element .scroll-arrow {
    cursor: default; }
  .scroll-element.scroll-x.scroll-scrollx_visible, .scroll-element.scroll-y.scroll-scrolly_visible {
    display: block; }

.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999; }
  .scroll-textarea > .scroll-content {
    overflow: hidden !important; }
    .scroll-textarea > .scroll-content > textarea {
      border: none !important;
      box-sizing: border-box;
      height: 100% !important;
      margin: 0;
      max-height: none !important;
      max-width: none !important;
      overflow: scroll !important;
      outline: none;
      padding: 2px;
      position: relative !important;
      top: 0;
      width: 100% !important; }
      .scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
        height: 0;
        width: 0; }

/*************** SIMPLE INNER SCROLLBAR ***************/
.scrollbar-inner > .scroll-element,
.scrollbar-inner > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-inner > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-inner > .scroll-element.scroll-x {
  bottom: 2px;
  height: 8px;
  left: 0;
  width: 100%; }

.scrollbar-inner > .scroll-element.scroll-y {
  height: 100%;
  right: 2px;
  top: 0;
  width: 8px; }

.scrollbar-inner > .scroll-element .scroll-element_outer {
  overflow: hidden; }

.scrollbar-inner > .scroll-element .scroll-element_outer,
.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px; }

.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
  opacity: 0.4; }

.scrollbar-inner > .scroll-element .scroll-element_track {
  background-color: #e0e0e0; }

.scrollbar-inner > .scroll-element .scroll-bar {
  background-color: #c2c2c2; }

.scrollbar-inner > .scroll-element:hover .scroll-bar {
  background-color: #919191; }

.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -12px; }

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -12px; }

.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -12px; }

.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -12px; }

/*************** SIMPLE OUTER SCROLLBAR ***************/
.scrollbar-outer > .scroll-element,
.scrollbar-outer > .scroll-element div {
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-outer > .scroll-element {
  background-color: #ffffff; }

.scrollbar-outer > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-outer > .scroll-element.scroll-x {
  bottom: 0;
  height: 12px;
  left: 0;
  width: 100%; }

.scrollbar-outer > .scroll-element.scroll-y {
  height: 100%;
  right: 0;
  top: 0;
  width: 12px; }

.scrollbar-outer > .scroll-element.scroll-x .scroll-element_outer {
  height: 8px;
  top: 2px; }

.scrollbar-outer > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  width: 8px; }

.scrollbar-outer > .scroll-element .scroll-element_outer {
  overflow: hidden; }

.scrollbar-outer > .scroll-element .scroll-element_track {
  background-color: #eeeeee; }

.scrollbar-outer > .scroll-element .scroll-element_outer,
.scrollbar-outer > .scroll-element .scroll-element_track,
.scrollbar-outer > .scroll-element .scroll-bar {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px; }

.scrollbar-outer > .scroll-element .scroll-bar {
  background-color: #d9d9d9; }

.scrollbar-outer > .scroll-element .scroll-bar:hover {
  background-color: #c2c2c2; }

.scrollbar-outer > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191; }

/* scrollbar height/width & offset from container borders */
.scrollbar-outer > .scroll-content.scroll-scrolly_visible {
  left: -12px;
  margin-left: 12px; }

.scrollbar-outer > .scroll-content.scroll-scrollx_visible {
  top: -12px;
  margin-top: 12px; }

.scrollbar-outer > .scroll-element.scroll-x .scroll-bar {
  min-width: 10px; }

.scrollbar-outer > .scroll-element.scroll-y .scroll-bar {
  min-height: 10px; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -14px; }

.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -14px; }

.scrollbar-outer > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -14px; }

.scrollbar-outer > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -14px; }

/*************** SCROLLBAR MAC OS X ***************/
.scrollbar-macosx > .scroll-element,
.scrollbar-macosx > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-macosx > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-macosx > .scroll-element .scroll-element_track {
  display: none; }

.scrollbar-macosx > .scroll-element .scroll-bar {
  background-color: #6C6E71;
  display: block;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
  -ms-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }

.scrollbar-macosx:hover > .scroll-element .scroll-bar,
.scrollbar-macosx > .scroll-element.scroll-draggable .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7; }

.scrollbar-macosx > .scroll-element.scroll-x {
  bottom: 0px;
  height: 0px;
  left: 0;
  min-width: 100%;
  overflow: visible;
  width: 100%; }

.scrollbar-macosx > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0px;
  top: 0;
  width: 0px; }

/* scrollbar height/width & offset from container borders */
.scrollbar-macosx > .scroll-element.scroll-x .scroll-bar {
  height: 7px;
  min-width: 10px;
  top: -9px; }

.scrollbar-macosx > .scroll-element.scroll-y .scroll-bar {
  left: -9px;
  min-height: 10px;
  width: 7px; }

.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_outer {
  left: 2px; }

.scrollbar-macosx > .scroll-element.scroll-x .scroll-element_size {
  left: -4px; }

.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_outer {
  top: 2px; }

.scrollbar-macosx > .scroll-element.scroll-y .scroll-element_size {
  top: -4px; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-macosx > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px; }

.scrollbar-macosx > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px; }

/*************** SCROLLBAR LIGHT ***************/
.scrollbar-light > .scroll-element,
.scrollbar-light > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-light > .scroll-element {
  background-color: #ffffff; }

.scrollbar-light > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-light > .scroll-element .scroll-element_outer {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

.scrollbar-light > .scroll-element .scroll-element_size {
  background: #dbdbdb;
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RiZGJkYiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+");
  background: -moz-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #dbdbdb), color-stop(100%, #e8e8e8));
  background: -webkit-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -o-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: -ms-linear-gradient(left, #dbdbdb 0%, #e8e8e8 100%);
  background: linear-gradient(to right, #dbdbdb 0%, #e8e8e8 100%);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

.scrollbar-light > .scroll-element.scroll-x {
  bottom: 0;
  height: 17px;
  left: 0;
  min-width: 100%;
  width: 100%; }

.scrollbar-light > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 17px; }

.scrollbar-light > .scroll-element .scroll-bar {
  background: #fefefe;
  background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+");
  background: -moz-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #fefefe), color-stop(100%, #f5f5f5));
  background: -webkit-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -o-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: -ms-linear-gradient(left, #fefefe 0%, #f5f5f5 100%);
  background: linear-gradient(to right, #fefefe 0%, #f5f5f5 100%);
  border: 1px solid #dbdbdb;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px; }

/* scrollbar height/width & offset from container borders */
.scrollbar-light > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px; }

.scrollbar-light > .scroll-content.scroll-scrollx_visible {
  top: -17px;
  margin-top: 17px; }

.scrollbar-light > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 0px; }

.scrollbar-light > .scroll-element.scroll-y .scroll-bar {
  left: 0px;
  min-height: 10px;
  width: 10px; }

.scrollbar-light > .scroll-element.scroll-x .scroll-element_outer {
  height: 12px;
  left: 2px;
  top: 2px; }

.scrollbar-light > .scroll-element.scroll-x .scroll-element_size {
  left: -4px; }

.scrollbar-light > .scroll-element.scroll-y .scroll-element_outer {
  left: 2px;
  top: 2px;
  width: 12px; }

.scrollbar-light > .scroll-element.scroll-y .scroll-element_size {
  top: -4px; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px; }

.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px; }

.scrollbar-light > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px; }

.scrollbar-light > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px; }

/*************** SCROLLBAR RAIL ***************/
.scrollbar-rail > .scroll-element,
.scrollbar-rail > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-rail > .scroll-element {
  background-color: #ffffff; }

.scrollbar-rail > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-rail > .scroll-element .scroll-element_size {
  background-color: #999;
  background-color: rgba(0, 0, 0, 0.3); }

.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-element_size {
  background-color: #666;
  background-color: rgba(0, 0, 0, 0.5); }

.scrollbar-rail > .scroll-element.scroll-x {
  bottom: 0;
  height: 12px;
  left: 0;
  min-width: 100%;
  padding: 3px 0 2px;
  width: 100%; }

.scrollbar-rail > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  padding: 0 2px 0 3px;
  right: 0;
  top: 0;
  width: 12px; }

.scrollbar-rail > .scroll-element .scroll-bar {
  background-color: #d0b9a0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); }

.scrollbar-rail > .scroll-element .scroll-element_outer:hover .scroll-bar {
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6); }

/* scrollbar height/width & offset from container borders */
.scrollbar-rail > .scroll-content.scroll-scrolly_visible {
  left: -17px;
  margin-left: 17px; }

.scrollbar-rail > .scroll-content.scroll-scrollx_visible {
  margin-top: 17px;
  top: -17px; }

.scrollbar-rail > .scroll-element.scroll-x .scroll-bar {
  height: 10px;
  min-width: 10px;
  top: 1px; }

.scrollbar-rail > .scroll-element.scroll-y .scroll-bar {
  left: 1px;
  min-height: 10px;
  width: 10px; }

.scrollbar-rail > .scroll-element.scroll-x .scroll-element_outer {
  height: 15px;
  left: 5px; }

.scrollbar-rail > .scroll-element.scroll-x .scroll-element_size {
  height: 2px;
  left: -10px;
  top: 5px; }

.scrollbar-rail > .scroll-element.scroll-y .scroll-element_outer {
  top: 5px;
  width: 15px; }

.scrollbar-rail > .scroll-element.scroll-y .scroll-element_size {
  left: 5px;
  top: -10px;
  width: 2px; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -25px; }

.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -25px; }

.scrollbar-rail > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -25px; }

.scrollbar-rail > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -25px; }

/*************** SCROLLBAR DYNAMIC ***************/
.scrollbar-dynamic > .scroll-element,
.scrollbar-dynamic > .scroll-element div {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-dynamic > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-dynamic > .scroll-element.scroll-x {
  bottom: 2px;
  height: 7px;
  left: 0;
  min-width: 100%;
  width: 100%; }

.scrollbar-dynamic > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 2px;
  top: 0;
  width: 7px; }

.scrollbar-dynamic > .scroll-element .scroll-element_outer {
  opacity: 0.3;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px; }

.scrollbar-dynamic > .scroll-element .scroll-element_size {
  background-color: #cccccc;
  opacity: 0;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
  transition: opacity 0.2s; }

.scrollbar-dynamic > .scroll-element .scroll-bar {
  background-color: #6c6e71;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  border-radius: 7px; }

/* scrollbar height/width & offset from container borders */
.scrollbar-dynamic > .scroll-element.scroll-x .scroll-bar {
  bottom: 0;
  height: 7px;
  min-width: 24px;
  top: auto; }

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-bar {
  left: auto;
  min-height: 24px;
  right: 0;
  width: 7px; }

.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_outer {
  bottom: 0;
  top: auto;
  left: 2px;
  -webkit-transition: height 0.2s;
  -moz-transition: height 0.2s;
  -o-transition: height 0.2s;
  -ms-transition: height 0.2s;
  transition: height 0.2s; }

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_outer {
  left: auto;
  right: 0;
  top: 2px;
  -webkit-transition: width 0.2s;
  -moz-transition: width 0.2s;
  -o-transition: width 0.2s;
  -ms-transition: width 0.2s;
  transition: width 0.2s; }

.scrollbar-dynamic > .scroll-element.scroll-x .scroll-element_size {
  left: -4px; }

.scrollbar-dynamic > .scroll-element.scroll-y .scroll-element_size {
  top: -4px; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-dynamic > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -11px; }

.scrollbar-dynamic > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -11px; }

/* hover & drag */
.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer {
  overflow: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
  filter: alpha(opacity=70);
  opacity: 0.7; }

.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-element_size,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-element_size {
  opacity: 1; }

.scrollbar-dynamic > .scroll-element:hover .scroll-element_outer .scroll-bar,
.scrollbar-dynamic > .scroll-element.scroll-draggable .scroll-element_outer .scroll-bar {
  height: 100%;
  width: 100%;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px; }

.scrollbar-dynamic > .scroll-element.scroll-x:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-x.scroll-draggable .scroll-element_outer {
  height: 20px;
  min-height: 7px; }

.scrollbar-dynamic > .scroll-element.scroll-y:hover .scroll-element_outer,
.scrollbar-dynamic > .scroll-element.scroll-y.scroll-draggable .scroll-element_outer {
  min-width: 7px;
  width: 20px; }

/*************** SCROLLBAR GOOGLE CHROME ***************/
.scrollbar-chrome > .scroll-element,
.scrollbar-chrome > .scroll-element div {
  border: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  z-index: 10; }

.scrollbar-chrome > .scroll-element {
  background-color: #ffffff; }

.scrollbar-chrome > .scroll-element div {
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%; }

.scrollbar-chrome > .scroll-element .scroll-element_track {
  background: #f1f1f1;
  border: 1px solid #dbdbdb; }

.scrollbar-chrome > .scroll-element.scroll-x {
  bottom: 0;
  height: 16px;
  left: 0;
  min-width: 100%;
  width: 100%; }

.scrollbar-chrome > .scroll-element.scroll-y {
  height: 100%;
  min-height: 100%;
  right: 0;
  top: 0;
  width: 16px; }

.scrollbar-chrome > .scroll-element .scroll-bar {
  background-color: #d9d9d9;
  border: 1px solid #bdbdbd;
  cursor: default;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.scrollbar-chrome > .scroll-element .scroll-bar:hover {
  background-color: #c2c2c2;
  border-color: #a9a9a9; }

.scrollbar-chrome > .scroll-element.scroll-draggable .scroll-bar {
  background-color: #919191;
  border-color: #7e7e7e; }

/* scrollbar height/width & offset from container borders */
.scrollbar-chrome > .scroll-content.scroll-scrolly_visible {
  left: -16px;
  margin-left: 16px; }

.scrollbar-chrome > .scroll-content.scroll-scrollx_visible {
  top: -16px;
  margin-top: 16px; }

.scrollbar-chrome > .scroll-element.scroll-x .scroll-bar {
  height: 8px;
  min-width: 10px;
  top: 3px; }

.scrollbar-chrome > .scroll-element.scroll-y .scroll-bar {
  left: 3px;
  min-height: 10px;
  width: 8px; }

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_outer {
  border-left: 1px solid #dbdbdb; }

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_track {
  height: 14px;
  left: -3px; }

.scrollbar-chrome > .scroll-element.scroll-x .scroll-element_size {
  height: 14px;
  left: -4px; }

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_outer {
  border-top: 1px solid #dbdbdb; }

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_track {
  top: -3px;
  width: 14px; }

.scrollbar-chrome > .scroll-element.scroll-y .scroll-element_size {
  top: -4px;
  width: 14px; }

/* update scrollbar offset if both scrolls are visible */
.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
  left: -19px; }

.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
  top: -19px; }

.scrollbar-chrome > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
  left: -19px; }

.scrollbar-chrome > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
  top: -19px; }

.hamburger {
  display: block;
  width: 25px;
  height: 25px;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation; }
  .hamburger__icon {
    position: relative; }
    .hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
      display: block;
      width: 25px;
      height: 4px;
      background-color: #fff;
      transition-property: background-color, transform;
      transition-duration: 0.4s; }
    .hamburger__icon:before, .hamburger__icon:after {
      position: absolute;
      content: ""; }
    .hamburger__icon:before {
      top: -8px; }
    .hamburger__icon:after {
      top: 8px; }
    .hamburger.active .hamburger__icon {
      background-color: transparent; }
    .hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
      background-color: #fff; }
    .hamburger.active .hamburger__icon:before {
      transform: translateY(8px) rotate(45deg); }
    .hamburger.active .hamburger__icon:after {
      transform: translateY(-8px) rotate(-45deg); }

.bg-grey, .grey-bg {
  background-color: #f5f6f8; }

.bg-black {
  background-color: #000000; }

.no-padding {
  padding: 0 !important; }

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

.two-column {
  column-count: 1;
  column-gap: calc(20px * 2); }
  .two-column li {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid; }

.inline-block {
  display: inline-block; }

.ui-helper-hidden-accessible {
  display: none; }

.html5-video-player {
  background-color: white; }

.for-icheck .icheck-item {
  float: left; }

.for-icheck label {
  display: block;
  padding-left: calc(20px / 2 + 18px);
  margin-top: -4px; }
  .for-icheck label a:hover {
    text-decoration: underline; }

.button-hover, .button:hover, .article-box .article-box-item:hover .button, .article-list .article:hover .button, .article-latest .article:hover .button, .product-class-boxes .box-content:hover .button, .available-list .available .button:hover, .promotion-list .promotion-header:hover .button, .promotion-list .promotion-box-item:hover .button, .promotion-more .promotion-more-content .promotion-box-item:hover .button {
  background: #fff;
  color: #000;
  border: 1px solid #000;
  font-weight: bold; }

.button {
  text-transform: uppercase;
  letter-spacing: 1.2px; }
  .button.secondary-blue:hover {
    font-weight: normal; }
  .button.third {
    color: #fff; }
    .button.third:hover {
      border-color: #c3c3c3; }

.button-gray {
  background-color: #bfbec3; }

.button-blue {
  background-color: #0053ff; }

.btn-primary {
  color: #fff; }

.s-icons {
  display: inline-block; }

.table-center-wrap {
  display: table;
  table-layout: fixed;
  height: 100%; }
  .table-center-wrap .table-center {
    display: table-cell;
    vertical-align: middle; }

.page-title {
  text-transform: uppercase;
  margin-top: calc(20px / 2); }
  .page-title h1 {
    line-height: 1;
    font-weight: bold; }

.md-breadcrumbs {
  margin-bottom: 1.42857rem; }
  .md-breadcrumbs .breadcrumbs__separator {
    padding: 0 calc(20px / 2); }
  .md-breadcrumbs a:hover {
    text-decoration: underline; }

.sidebar-right {
  margin-top: calc(20px * 2); }
  .sidebar-right .sidebar-head {
    font-size: 1.42857rem;
    font-weight: bold;
    line-height: 0.8;
    padding-bottom: calc(20px); }

.tooltip-content {
  display: none !important; }

.ui-tooltip {
  border: none; }
  .ui-tooltip.custom-tooltip {
    background: #0053ff; }
    .ui-tooltip.custom-tooltip .arrow:after {
      background: #0053ff; }
    .ui-tooltip.custom-tooltip .ui-tooltip-content {
      color: #fff; }
  .ui-tooltip.default-tooltip {
    background: #fff; }
    .ui-tooltip.default-tooltip .arrow:after {
      background: #fff; }
    .ui-tooltip.default-tooltip .ui-tooltip-content {
      color: #000; }

.ui-tooltip {
  position: fixed;
  z-index: 9999;
  max-width: 26.42857rem;
  padding: 0.64286rem 1rem;
  color: #bfbfbf;
  font-size: 0.92857rem;
  box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.11);
  line-height: 140%; }
  .ui-tooltip .default-tooltip-row {
    display: block;
    color: #111; }
    .ui-tooltip .default-tooltip-row p {
      margin: 0; }
  .ui-tooltip a {
    color: #7590aa;
    text-decoration: underline; }
  .ui-tooltip .arrow {
    display: none; }
  .ui-tooltip .ui-tooltip-content {
    line-height: 1.4; }
    .ui-tooltip .ui-tooltip-content .title {
      line-height: 1.1;
      font-size: 1.14286rem;
      display: block;
      font-weight: bold;
      margin-bottom: 0.71429rem; }
    .ui-tooltip .ui-tooltip-content p {
      margin-bottom: 0; }
  .ui-tooltip .contact-tooltip {
    padding: 0.71429rem; }

.contact-form-wrapper {
  background: #333333;
  color: #000;
  max-width: 35.71429rem;
  width: 50%;
  min-width: 17.85714rem; }
  .contact-form-wrapper .contact-form-title {
    font-size: 1.42857rem;
    margin: 1.42857rem 0;
    line-height: 1.2;
    color: #ffffff; }
    .contact-form-wrapper .contact-form-title .success {
      text-align: center; }
      .contact-form-wrapper .contact-form-title .success i {
        font-size: 2.14286rem; }
      .contact-form-wrapper .contact-form-title .success h2 {
        font-weight: bold;
        margin-top: 1.42857rem; }
      .contact-form-wrapper .contact-form-title .success p {
        font-size: 1.14286rem;
        padding: 1.42857rem; }
  .contact-form-wrapper .contact-form-content .more {
    cursor: pointer; }
  .contact-form-wrapper .contact-form-content label {
    color: #8f8f8f;
    font-size: 0.85714rem; }
  .contact-form-wrapper .contact-form-content input {
    height: 2.3rem;
    padding: 0.35714rem 0.71429rem;
    font-size: 1rem;
    background: #fff;
    color: #000;
    margin-bottom: 0.35714rem;
    border: none; }
    .contact-form-wrapper .contact-form-content input::placeholder {
      color: #000; }
  .contact-form-wrapper .contact-form-content .label-group {
    margin-top: 0.71429rem;
    margin-bottom: 0.35714rem; }
    .contact-form-wrapper .contact-form-content .label-group p {
      color: #8f8f8f;
      font-size: 0.85714rem; }
  .contact-form-wrapper .contact-form-content p {
    margin-bottom: 0.71429rem; }
  .contact-form-wrapper .contact-form-content .agreement-container {
    background-color: #fff;
    padding: 0.71429rem;
    padding-bottom: 0.5rem;
    margin-bottom: 0.71429rem; }
    @media print, screen and (min-width: 64em) {
      .contact-form-wrapper .contact-form-content .agreement-container {
        overflow-y: auto;
        max-height: 22.85714rem; } }
    .contact-form-wrapper .contact-form-content .agreement-container p {
      margin-bottom: 0.35714rem;
      line-height: 1.2;
      font-size: 0.78571rem; }
    .contact-form-wrapper .contact-form-content .agreement-container #f-checkbox3 p {
      padding-top: 0.35714rem;
      font-size: 0.85714rem; }
    .contact-form-wrapper .contact-form-content .agreement-container .input-group {
      margin-bottom: 0.71429rem; }
    .contact-form-wrapper .contact-form-content .agreement-container .for-icheck {
      clear: both; }
      .contact-form-wrapper .contact-form-content .agreement-container .for-icheck label {
        display: inline-block;
        margin-right: 1.78571rem;
        float: left;
        padding-left: 0.35714rem;
        padding-top: 0.21429rem; }
        .contact-form-wrapper .contact-form-content .agreement-container .for-icheck label.checkbox3-label {
          max-width: 90%;
          margin-right: 0; }
          .contact-form-wrapper .contact-form-content .agreement-container .for-icheck label.checkbox3-label p {
            padding-top: 0.21429rem;
            font-size: 0.85714rem; }
      .contact-form-wrapper .contact-form-content .agreement-container .for-icheck label[for="f-checkbox3"] p {
        padding-top: 0.21429rem; }
    .contact-form-wrapper .contact-form-content .agreement-container .error, .contact-form-wrapper .contact-form-content .agreement-container .errors {
      clear: both;
      color: red; }
    .contact-form-wrapper .contact-form-content .agreement-container + .input-group {
      margin-bottom: 0.35714rem; }
  .contact-form-wrapper .contact-form-send {
    text-align: center;
    justify-content: center; }
    .contact-form-wrapper .contact-form-send .button {
      background-color: #00529c;
      display: inline-block; }
      .contact-form-wrapper .contact-form-send .button:hover {
        color: #fff; }

.videodetector {
  display: none;
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin: 20px 0; }
  .videodetector.loaded {
    display: block; }
  .videodetector iframe, .videodetector object, .videodetector embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .videodetector .remove-videodetector {
    display: none; }

.cookies-info-box {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  border-top: 1px solid #b8bfc6; }
  .cookies-info-box .row {
    position: relative; }
  .cookies-info-box .columns {
    padding: 8px calc(8px + 20px + 5px);
    color: #222222;
    text-align: center; }
    .cookies-info-box .columns a, .cookies-info-box .columns a:hover, .cookies-info-box .columns a:active, .cookies-info-box .columns a:focus, .cookies-info-box .columns a:visited {
      color: #000; }
  .cookies-info-box .cookies-info-close {
    cursor: pointer;
    position: absolute;
    right: 8px;
    top: 0;
    background-size: contain;
    background-repeat: no-repeat;
    color: #0053ff;
    font-size: 2.14286rem;
    line-height: 1; }
  .cookies-info-box a {
    text-decoration: underline; }

.galleryPreview {
  display: none; }
  .galleryPreview.loaded {
    display: block; }
  .galleryPreview .gallery {
    position: relative;
    margin: 0.71429rem 0; }
    .galleryPreview .gallery--carousel img {
      width: 100%; }
    .galleryPreview .gallery--carousel a {
      display: block; }
    .galleryPreview .gallery--carousel .item {
      margin-right: 3px; }
    .galleryPreview .gallery--below {
      position: relative;
      margin-top: 5px; }
      .galleryPreview .gallery--below .author {
        float: left;
        font-size: 0.85714rem;
        padding-top: 3px;
        margin-bottom: 10px;
        width: calc(100% - 60px); }
    .galleryPreview .gallery--wrapper {
      position: relative; }
  @media print, screen and (min-width: 40em) {
    .galleryPreview .gallery--carousel {
      min-height: 12.85714rem; } }

@media screen and (min-width: 56.25em) {
  .page-title {
    margin-top: 0; } }

@media print, screen and (min-width: 40em) {
  .sidebar-right .sidebar-head {
    font-size: 2.19619vw; }
  .two-column {
    column-count: 2;
    padding-left: calc(20px * 2);
    padding-right: calc(20px * 2); } }

@media print, screen and (min-width: 64em) {
  .sidebar-right {
    margin-top: 0; }
    .sidebar-right .sidebar-head {
      font-size: 2.14286rem; }
  .contact-form-wrapper {
    max-width: 35.71429rem;
    margin-left: 0;
    margin-right: 0; } }

.truck-points, div.text-center:not(.column):not(.columns), .top-section-list, .section hr, .row > .content, .column > .content, .columns > .content, .columns > label, .truck-box-footer, .feature-header {
  width: 100%; }

.calc-box-top .column, .calc-box-top .columns {
  display: block; }

.fast-contact-icons {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 50px;
  z-index: 500; }

.fast-contact-icon {
  background-color: #0053ff;
  height: 50px;
  display: flex;
  align-items: center;
  font-size: 32px;
  color: #fff !important;
  font-weight: 300;
  padding-right: 16px;
  margin-bottom: 1px;
  transform: translateX(calc(100% - 50px));
  transition: 0.3s;
  white-space: nowrap; }

@media print, screen and (min-width: 64em) {
  .fast-contact-icon:hover {
    transform: translateX(0);
    padding-left: 10px; } }

.fast-contact-icon-img {
  width: 50px;
  margin-right: 10px; }

.fast-contact-icons-left-center,
.fast-contact-icons-left-bottom {
  left: 0;
  right: auto;
  align-items: flex-start; }
  .fast-contact-icons-left-center .fast-contact-icon,
  .fast-contact-icons-left-bottom .fast-contact-icon {
    flex-direction: row-reverse;
    padding-right: 0;
    padding-left: 16px;
    transform: translateX(calc(-100% + 50px)); }
  @media print, screen and (min-width: 64em) {
    .fast-contact-icons-left-center .fast-contact-icon:hover,
    .fast-contact-icons-left-bottom .fast-contact-icon:hover {
      transform: translateX(0);
      padding-right: 10px; } }
  .fast-contact-icons-left-center .fast-contact-icon-img,
  .fast-contact-icons-left-bottom .fast-contact-icon-img {
    margin-left: 10px;
    margin-right: 0; }

.fast-contact-icons-left-bottom,
.fast-contact-icons-right-bottom {
  transform: none;
  top: auto;
  bottom: 0; }

.black-header {
  background-color: #000; }

.white-header {
  background-color: #fff; }

.header {
  position: relative;
  z-index: 1001; }
  .header .logo {
    display: inline-block;
    min-width: 9.42857rem;
    height: 1.78571rem;
    background: url("../../img/logo_iveco.png") no-repeat left center;
    background-size: contain;
    float: left;
    margin: 2.14286rem 1.42857rem 2.14286rem 0; }
  .header img.logo {
    min-width: 0; }
  .header .logo-assistance {
    display: block; }
    .header .logo-assistance img {
      max-height: 6.07143rem; }
  .header .title-bar .hamburger {
    float: right;
    margin: 0.71429rem 0 1.07143rem 0; }
  .header .top-bar ul ul {
    background-color: #000; }
  .header .top-bar.sticked {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10; }
  .header .menu {
    white-space: nowrap;
    text-align: center;
    list-style-type: none;
    list-style-position: inside; }
    .header .menu > li {
      display: inline-block;
      list-style-type: none;
      list-style-position: inside; }
      .header .menu > li > a {
        color: #fff; }
      .header .menu > li:hover > a, .header .menu > li.active > a, .header .menu > li.is-active > a {
        background: none;
        font-weight: bold; }
      .header .menu > li.fake-container {
        display: block !important; }
        .header .menu > li.fake-container > ul {
          display: block !important;
          position: static; }
    .header .menu.is-dropdown-submenu, .header .menu.is-accordion-submenu {
      position: absolute;
      left: 0;
      width: 100%; }
      .header .menu.is-dropdown-submenu > li, .header .menu.is-accordion-submenu > li {
        border-left-width: 0; }
        .header .menu.is-dropdown-submenu > li > a, .header .menu.is-accordion-submenu > li > a {
          color: #fff; }
        .header .menu.is-dropdown-submenu > li.br:after, .header .menu.is-accordion-submenu > li.br:after {
          content: "\A";
          white-space: pre; }
  .header .navbar-toggle {
    margin-top: 6px;
    margin-bottom: 5px;
    margin-right: 0;
    padding: 9px 3px;
    border: none;
    background: transparent !important; }
    .header .navbar-toggle .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0; }
  .header .share-container {
    height: 3.57143rem;
    text-align: right; }
    .header .share-container .addthis-custom-content {
      display: block;
      opacity: 0;
      position: absolute;
      right: 0;
      top: calc(0.57143rem + 30px);
      transition: opacity ease-in-out 0.3s; }
      .header .share-container .addthis-custom-content .at-share-btn {
        margin-right: 0;
        margin-left: 0; }
      .header .share-container .addthis-custom-content:hover {
        display: block;
        opacity: 1; }
    .header .share-container .s-icons {
      position: relative;
      margin: 0.57143rem 0; }
      .header .share-container .s-icons:hover > .addthis-custom-content {
        display: block;
        opacity: 1; }

@media screen and (max-width: 56.1875em) {
  .header {
    border-bottom: 1px solid #b8bfc6; }
    .header .top-bar {
      background: #e9e9e9; }
      .header .top-bar > .row > .columns {
        padding: 0; }
    .header .menu {
      background: #000; }
      .header .menu > li {
        display: block;
        border-left-width: 0 !important;
        text-align: left; }
        .header .menu > li > a {
          display: inline-block;
          color: #fff;
          text-align: left;
          text-transform: none; }
          .header .menu > li > a:after {
            border-color: #fff transparent transparent; }
      .header .menu .li-submenu-parent {
        position: relative; }
        .header .menu .li-submenu-parent > a {
          font-weight: bold;
          font-size: 1.42857rem; }
        .header .menu .li-submenu-parent .mobile-link {
          position: absolute;
          right: 1.42857rem;
          top: 1rem; }
          .header .menu .li-submenu-parent .mobile-link a {
            color: #fff; }
      .header .menu .is-accordion-submenu-parent > a:after {
        display: block; }
      .header .menu.is-dropdown-submenu, .header .menu.is-accordion-submenu {
        position: relative; }
        .header .menu.is-dropdown-submenu > li, .header .menu.is-accordion-submenu > li {
          background: #000; }
    .header .logo {
      margin: 0.71429rem 0 1.07143rem 0; }
    .header img.logo {
      margin: 0.71429rem 0 1.07143rem 0; }
    .header .title-bar {
      background: #000; }
      .header .title-bar .title-bar-title {
        max-width: 85%; }
        .header .title-bar .title-bar-title img.logo {
          margin: 0.85714rem 0 0 0; } }

@media screen and (min-width: 56.25em) {
  .header .menu .is-accordion-submenu-parent {
    position: relative; }
    .header .menu .is-accordion-submenu-parent > a::after {
      border-color: white transparent transparent;
      line-height: 42px; }
    .header .menu .is-accordion-submenu-parent a {
      position: relative;
      padding-right: 2.85714rem; }
    .header .menu .is-accordion-submenu-parent:hover > .is-accordion-submenu {
      display: block !important; }
    .header .menu .is-accordion-submenu-parent:hover > a:after {
      border-color: #000 transparent transparent; }
  .header .menu > li > a {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .header .menu > li:hover, .header .menu > li.active, .header .menu > li.is-active {
    background: #0053ff; }
    .header .menu > li:hover > a, .header .menu > li.active > a, .header .menu > li.is-active > a {
      color: #000 !important;
      font-weight: normal; }
  .header .menu .is-accordion-submenu {
    width: auto;
    max-width: 500px;
    padding-top: 12px;
    padding-bottom: 12px;
    z-index: 1;
    margin-right: -1000px; }
  .header .menu .is-accordion-submenu-item {
    display: block;
    text-align: left; }
  .header .menu .is-accordion-submenu-item > a {
    padding-top: 12px;
    padding-bottom: 12px;
    color: #fff;
    white-space: normal; }
  .header .menu .submenu-right {
    right: 0;
    left: auto;
    margin-right: 0;
    margin-left: -1000px; }
  .header .sub-header-menu {
    position: absolute;
    left: -100%; } }

@media screen and (min-width: 75em) {
  .header .menu > li > a {
    padding-left: 2.5rem;
    padding-right: 2.5rem; } }

footer {
  background: #000; }
  footer .newsletter {
    background: rgba(229, 229, 229, 0.5);
    padding: 20px 0; }
    footer .newsletter .input-group {
      margin-bottom: 0; }
    footer .newsletter .for-icheck {
      margin-top: 0.71429rem; }
      footer .newsletter .for-icheck label, footer .newsletter .for-icheck .is-label {
        padding-left: 2.14286rem; }
        footer .newsletter .for-icheck label p, footer .newsletter .for-icheck .is-label p {
          margin: 0; }
        footer .newsletter .for-icheck label a, footer .newsletter .for-icheck .is-label a {
          text-decoration: underline;
          color: #00529c; }
  footer .social ul {
    padding: 0 0.71429rem;
    text-align: center; }
    footer .social ul li {
      display: inline-block;
      padding: 0.71429rem 0.71429rem; }
      footer .social ul li a {
        width: 2.42857rem;
        height: 2.42857rem;
        border-radius: 50%;
        background-color: #fff;
        padding: 0;
        line-height: 2.42857rem;
        text-align: center; }
        footer .social ul li a i {
          display: block;
          color: #000;
          font-size: 1.42857rem;
          line-height: 34px;
          margin: 0;
          padding: 0; }
        footer .social ul li a:hover {
          background-color: #4e525c; }
  footer .footer {
    color: #fff;
    padding: 20px 0;
    background: #000;
    min-height: 3.57143rem;
    text-align: center; }
    footer .footer .logo {
      padding: 0 calc(20px / 2);
      min-width: 11.71429rem; }
      footer .footer .logo img {
        max-height: 2.14286rem; }
    footer .footer .right {
      text-align: center; }
      footer .footer .right .menu li {
        display: block; }
        footer .footer .right .menu li a {
          color: rgba(255, 255, 255, 0.75);
          padding: 0;
          line-height: 2; }
          footer .footer .right .menu li a:hover {
            color: #fff; }
  footer .copy {
    background: #000;
    text-align: center;
    color: #fff;
    line-height: 5.71429rem;
    min-height: 5.71429rem; }
    footer .copy p {
      margin-bottom: 0;
      line-height: inherit; }

@media print, screen and (min-width: 64em) {
  footer .footer .right {
    text-align: right; }
    footer .footer .right .menu li {
      display: inline-block; }
      footer .footer .right .menu li a {
        padding: 0 1.42857rem;
        line-height: 3.78571rem; }
      footer .footer .right .menu li:last-child a {
        padding-right: 0; }
  footer .social ul {
    text-align: left; }
    footer .social ul li {
      float: left;
      display: table-cell; } }

@media screen and (max-width: 63.9375em) {
  footer .footer .logo {
    width: 100%; }
  footer .footer .right {
    width: 100%; } }

#main-slider {
  position: relative;
  margin-bottom: 2.14286rem; }
  #main-slider.slick-initialized {
    opacity: 1; }
  #main-slider .slick-arrow {
    display: none !important; }
  #main-slider .slick-dots {
    bottom: -1.42857rem; }
  #main-slider .slide-item {
    position: relative;
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    min-height: 15.71429rem;
    max-height: 34.28571rem;
    width: 100%;
    height: 35.98201vw; }
    #main-slider .slide-item > a {
      display: block;
      height: 100%; }
    #main-slider .slide-item .responsive-embed {
      position: absolute;
      width: 100%;
      pointer-events: none; }
      #main-slider .slide-item .responsive-embed iframe {
        height: 150%;
        top: -24%; }
    #main-slider .slide-item .slide-title {
      font-weight: 900;
      font-size: 1rem;
      padding: calc(20px / 2);
      background: #fff; }
    #main-slider .slide-item .slide-desc {
      display: none;
      color: #767676;
      background: #fff;
      padding: calc(20px / 2); }
    #main-slider .slide-item .table-center-wrap {
      position: absolute;
      bottom: 0;
      height: calc(100% - 41vw);
      padding: 0 calc(20px / 2); }
      #main-slider .slide-item .table-center-wrap .table-center {
        height: 100%; }
        #main-slider .slide-item .table-center-wrap .table-center a {
          display: block;
          width: 100%;
          height: 100%; }
    #main-slider .slide-item .slide-more {
      float: right;
      margin-top: 0.35714rem;
      line-height: 1.2; }
      #main-slider .slide-item .slide-more > span {
        display: inline-block;
        font-size: 0.85714rem; }

#promotion-slider {
  margin-bottom: 0; }
  #promotion-slider.slick-initialized {
    opacity: 1; }
  #promotion-slider .slide-item {
    float: left;
    position: relative;
    padding: calc(1.42857rem / 2) 1.42857rem;
    overflow: hidden; }
    #promotion-slider .slide-item > a {
      height: 100%;
      width: 100%;
      display: block; }
    #promotion-slider .slide-item .slide-title {
      font-size: 1.85714rem;
      font-weight: bold;
      color: #222222;
      line-height: 1; }
    #promotion-slider .slide-item .slide-subtitle {
      font-size: 1.42857rem;
      color: #222222;
      line-height: 1.4;
      padding-bottom: calc(20px / 2); }
    #promotion-slider .slide-item.item_1 {
      background-color: #f2f2f2; }
    #promotion-slider .slide-item.item_2 {
      background-color: #bcc1c2; }
    #promotion-slider .slide-item.item_0 {
      background-color: #0053ff; }
      #promotion-slider .slide-item.item_0 .slide-title {
        color: #fff; }
      #promotion-slider .slide-item.item_0 .slide-subtitle {
        color: #fff; }
      #promotion-slider .slide-item.item_0 .slide-desc {
        color: #fff; }
      #promotion-slider .slide-item.item_0 > a:after {
        color: white; }
  #promotion-slider .slick-dots {
    bottom: -2.85714rem; }

@media screen and (max-width: 56.25em) {
  #promotion-slider {
    padding: 0 0.71429rem; }
    #promotion-slider .slide-item {
      float: none;
      width: 100% !important;
      max-width: calc(100vw - 1.42857rem);
      margin-bottom: 0.71429rem;
      min-height: 4.28571rem;
      padding-right: calc(1.42857rem + 15px); }
      #promotion-slider .slide-item .slide-title {
        line-height: 2.85714rem; }
      #promotion-slider .slide-item .slide-subtitle {
        display: none; }
      #promotion-slider .slide-item:after {
        display: none; }
      #promotion-slider .slide-item > a:after {
        position: absolute;
        right: 1.42857rem;
        content: "\f054";
        font-family: 'FontAwesome';
        top: 50%;
        font-size: 1.42857rem;
        margin-top: -0.85714rem; } }

@media screen and (min-width: 33.5em) {
  #main-slider .slide-item {
    background-size: 536px; }
    #main-slider .slide-item .table-center-wrap {
      height: 82px; } }

@media print, screen and (min-width: 40em) {
  #main-slider {
    margin-bottom: 5rem; }
    #main-slider .slide-item {
      background-size: cover;
      min-height: 21.42857rem;
      background-position: center center; }
      #main-slider .slide-item .slide-title {
        font-size: 2.14286rem; }
      #main-slider .slide-item .table-center-wrap {
        position: static;
        height: 100%;
        padding: calc(20px / 2); }
      #main-slider .slide-item .slide-more {
        margin-top: 1.42857rem; }
    #main-slider .slick-dots {
      bottom: -3.57143rem; }
    #main-slider .slick-slide img.show-for-small {
      display: none; } }

@media print, screen and (min-width: 64em) {
  #main-slider .slick-arrow {
    display: block !important; }
  #main-slider .slide-item .table-center-wrap {
    background: transparent;
    display: table;
    height: 100%;
    width: 33.33333%; }
    #main-slider .slide-item .table-center-wrap .table-center {
      display: table-cell;
      height: auto; }
      #main-slider .slide-item .table-center-wrap .table-center a {
        display: inline-block;
        width: auto;
        height: auto; }
  #main-slider .slide-item.position-right-center .table-center-wrap {
    float: right; }
  #main-slider .slide-item.position-left-center .table-center-wrap {
    float: left; }
  #main-slider .slide-item.position-left-center .slide-more {
    float: left; }
  #main-slider .slide-item.position-center-center .table-center-wrap {
    float: none;
    margin: auto;
    text-align: center; }
    #main-slider .slide-item.position-center-center .table-center-wrap .slide-more {
      float: none; }
  #main-slider .slide-item.position-right-top .table-center-wrap {
    float: right; }
    #main-slider .slide-item.position-right-top .table-center-wrap .table-center {
      vertical-align: top; }
  #main-slider .slide-item.position-left-top .table-center-wrap {
    float: left; }
    #main-slider .slide-item.position-left-top .table-center-wrap .table-center {
      vertical-align: top; }
  #main-slider .slide-item.position-left-top .slide-more {
    float: left; }
  #main-slider .slide-item.position-center-top .table-center-wrap {
    float: none;
    margin: auto;
    text-align: center; }
    #main-slider .slide-item.position-center-top .table-center-wrap .table-center {
      vertical-align: top; }
    #main-slider .slide-item.position-center-top .table-center-wrap .slide-more {
      float: none; }
  #main-slider .slide-item.position-right-bottom .table-center-wrap {
    float: right; }
    #main-slider .slide-item.position-right-bottom .table-center-wrap .table-center {
      vertical-align: bottom; }
  #main-slider .slide-item.position-left-bottom .table-center-wrap {
    float: left; }
    #main-slider .slide-item.position-left-bottom .table-center-wrap .table-center {
      vertical-align: bottom; }
    #main-slider .slide-item.position-left-bottom .table-center-wrap .slide-more {
      float: left; }
  #main-slider .slide-item.position-center-bottom .table-center-wrap {
    float: none;
    margin: auto;
    text-align: center; }
    #main-slider .slide-item.position-center-bottom .table-center-wrap .table-center {
      vertical-align: bottom; }
    #main-slider .slide-item.position-center-bottom .table-center-wrap .slide-more {
      float: none; }
  #main-slider .slide-item .slide-title {
    display: block; }
  #main-slider .slide-item .slide-desc {
    display: block; }
  #main-slider .slide-item .slide-more > span {
    display: inline-block; } }

.slick-slider .slick-arrow {
  color: transparent;
  border: none;
  outline: none;
  pointer-events: auto;
  position: absolute;
  top: 50%;
  margin-top: calc(-35px / 2);
  z-index: 1;
  transition: all ease-in-out 0.1s;
  box-sizing: content-box;
  left: auto;
  right: auto;
  cursor: pointer; }
  .slick-slider .slick-arrow:hover {
    transition: all ease-in-out 0.1s; }
  .slick-slider .slick-arrow.slick-prev {
    background: no-repeat center center;
    background-image: url(../../img/sprites.png);
    background-position: -114px -235px;
    width: 23px;
    height: 35px;
    left: calc(20px / 2); }
    .slick-slider .slick-arrow.slick-prev:hover {
      transform: scale(1.1); }
  .slick-slider .slick-arrow.slick-next {
    background: no-repeat center center;
    background-image: url(../../img/sprites.png);
    background-position: -157px -235px;
    width: 23px;
    height: 35px;
    left: calc(100% - (20px / 2) - 23px); }
    .slick-slider .slick-arrow.slick-next:hover {
      transform: scale(1.1); }

.slick-slider .slick-dots {
  position: absolute;
  text-align: center;
  margin: 0;
  padding: 0;
  left: 0;
  right: 0;
  bottom: -3.57143rem; }
  .slick-slider .slick-dots li {
    list-style: none;
    display: inline-block;
    margin: 0 0.35714rem; }
    .slick-slider .slick-dots li button {
      color: transparent;
      border: 2px solid #bcc1c2;
      border-radius: 50%;
      width: 0.71429rem;
      height: 0.71429rem; }
    .slick-slider .slick-dots li.slick-active button {
      background: #bcc1c2; }

.slick-slider .slick-list {
  width: 100%; }
  .slick-slider .slick-list .slick-track {
    min-width: 100vw; }

@media screen and (min-width: 75em) {
  .slick-slider .slick-arrow.slick-prev {
    left: -2.14286rem; }
  .slick-slider .slick-arrow.slick-next {
    left: calc(100% + 2.14286rem - 23px); } }

.sg-title {
  text-align: center;
  height: 4.28571rem;
  margin: 0 0.71429rem 0.71429rem; }
  .sg-title.blue2 {
    background-color: #001d47; }
  .sg-title.dark {
    background-color: #060606; }
  .sg-title .table-center-wrap {
    width: 100%; }
    .sg-title .table-center-wrap .table-center > * {
      display: inline-block;
      vertical-align: middle; }
  .sg-title .h2 {
    font-size: 1.85714rem;
    padding-right: 0.71429rem; }
  .sg-title .pipe {
    height: 100%;
    width: 1px;
    background: #bcc1c2; }
    .sg-title .pipe + .section-href {
      padding-left: 0.71429rem; }
  .sg-title .section-href {
    position: relative;
    display: block !important;
    text-align: left;
    font-size: 1.85714rem;
    font-weight: bold;
    color: #fff;
    padding: 0 1.42857rem; }
    .sg-title .section-href:after {
      position: absolute;
      right: 1.42857rem;
      content: "\f054";
      font-family: 'FontAwesome';
      top: 50%;
      font-size: 1.42857rem;
      margin-top: -0.85714rem; }

.article-box .article-box-item {
  margin-bottom: calc(20px / 2); }
  .article-box .article-box-item figure {
    margin-bottom: calc(20px / 2); }
    .article-box .article-box-item figure img {
      max-width: 100%; }
  .article-box .article-box-item .content {
    position: relative;
    padding-bottom: 1.42857rem; }
    .article-box .article-box-item .content h3 {
      font-size: 1rem;
      font-weight: bold; }
    .article-box .article-box-item .content p {
      width: 100%;
      line-height: 1.4; }
    .article-box .article-box-item .content .button {
      float: right;
      margin: auto;
      margin-top: 0.71429rem; }

@media screen and (min-width: 56.25em) {
  .sg-title {
    height: 7.14286rem;
    background-color: transparent !important;
    color: #222222;
    margin: 0; }
    .sg-title .h2 {
      font-size: 2.57143rem;
      padding-right: 3.28571rem; }
    .sg-title .pipe + .section-href {
      padding-left: 3.28571rem; }
    .sg-title .section-href {
      padding: 0;
      color: #222222;
      display: inline-block !important;
      text-align: center;
      font-size: 2.57143rem; }
      .sg-title .section-href:after {
        display: none; } }

.article-container .load-more-container {
  text-align: center;
  margin-bottom: calc(20px * 2); }
  .article-container .load-more-container .load-more {
    display: inline-block;
    margin: auto; }

.article-list .article {
  position: relative;
  opacity: 0;
  transition: opacity ease-out 0.3s;
  margin-bottom: calc(20px * 1.5); }
  .article-list .article.fade-in {
    transition: opacity ease-out 0.5s;
    opacity: 1; }
  .article-list .article .content {
    position: relative;
    padding-top: calc(20px);
    padding-bottom: calc(20px / 2);
    margin-bottom: 2.5rem; }
    .article-list .article .content h3 {
      font-size: 1.42857rem;
      font-weight: bold;
      width: 100%;
      line-height: 1.2; }
    .article-list .article .content .article-date {
      display: inline-block;
      line-height: 1.57143rem; }
  .article-list .article .button {
    position: absolute;
    right: 0.71429rem;
    bottom: 0;
    margin: 0; }

.article.article--big .article__wrapper {
  width: calc(100% + 20px);
  margin-left: -0.71429rem; }

.article.article--big .article__content {
  position: relative; }
  .article.article--big .article__content .content-start-header {
    position: absolute;
    right: 0;
    top: 0; }
  .article.article--big .article__content .article-date {
    margin-top: 1.42857rem; }
  .article.article--big .article__content .lead {
    font-weight: bold;
    padding-bottom: calc(20px / 2); }
  .article.article--big .article__content .content a {
    text-decoration: underline; }

.article-latest .article .content {
  position: relative; }
  .article-latest .article .content h3 {
    font-weight: bold;
    color: #333333;
    font-size: 14px;
    margin-top: 1.42857rem;
    margin-bottom: 1.42857rem;
    max-width: calc(100% - 76px);
    line-height: 1; }
  .article-latest .article .content p {
    line-height: 1.2; }
  .article-latest .article .content .article-date {
    line-height: 1;
    position: absolute;
    right: 0;
    top: 0;
    font-size: 14px; }

@media print, screen and (min-width: 40em) {
  .article-box .article-box-item .content p {
    width: calc(100% - 140px); }
  .article-box .article-box-item .content .button {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -0.57143rem; }
  .article-list .article .content h3 {
    width: calc(100% - 80px); }
  .article-list .article .content .article-date {
    position: absolute;
    top: 1.42857rem;
    right: 0; }
  .article.article--big .article__wrapper {
    width: 100%;
    margin-left: 0; }
  .article.article--big .article__content .lead {
    width: 70%; }
  .article.article--big .article__content .content a {
    text-decoration: underline; } }

.contact-box {
  margin-bottom: 0; }
  .contact-box .contact-box-left .scrollbar-inner {
    max-height: 35.71429rem; }
  .contact-box .contact-box-left .contact-item {
    position: relative;
    margin: 1.42857rem;
    border-bottom: 1px solid #eeeeee;
    cursor: pointer; }
    .contact-box .contact-box-left .contact-item:first-child {
      padding-top: 0; }
    .contact-box .contact-box-left .contact-item:last-child {
      border-bottom: none; }
    .contact-box .contact-box-left .contact-item .contact-item-address {
      position: relative; }
    .contact-box .contact-box-left .contact-item .city {
      line-height: 1.8;
      font-weight: bold;
      text-transform: uppercase; }
    .contact-box .contact-box-left .contact-item p {
      line-height: 1.2; }
    .contact-box .contact-box-left .contact-item .s-icons {
      position: absolute;
      right: 0.71429rem;
      bottom: 0;
      top: 0;
      margin: auto;
      opacity: 0.2;
      transition: opacity ease-in-out 0.2s; }
    .contact-box .contact-box-left .contact-item .button {
      margin: 0;
      color: #fff;
      font-weight: bold; }
    .contact-box .contact-box-left .contact-item span.button:hover {
      color: black; }
    .contact-box .contact-box-left .contact-item:hover .s-icons, .contact-box .contact-box-left .contact-item.is-active .s-icons {
      opacity: 1; }
    .contact-box .contact-box-left .contact-item a {
      color: #0053ff; }

.contact-site .contact-site-item {
  margin-top: 1.42857rem; }
  .contact-site .contact-site-item > h2 {
    text-transform: uppercase;
    font-weight: bold;
    float: left;
    padding: 0 0.71429rem; }
  .contact-site .contact-site-item .contact-site-box {
    margin-bottom: 0; }
    .contact-site .contact-site-item .contact-site-box .contact-site-box-left {
      padding-bottom: 0.71429rem; }
      .contact-site .contact-site-item .contact-site-box .contact-site-box-left .contact-item {
        position: relative;
        margin: 1.42857rem;
        cursor: pointer; }
        .contact-site .contact-site-item .contact-site-box .contact-site-box-left .contact-item:first-child {
          padding-top: 0; }
        .contact-site .contact-site-item .contact-site-box .contact-site-box-left .contact-item .contact-item-address {
          position: relative; }
        .contact-site .contact-site-item .contact-site-box .contact-site-box-left .contact-item .city {
          line-height: 1.8;
          font-weight: bold;
          padding-bottom: 0.28571rem;
          text-transform: uppercase; }
        .contact-site .contact-site-item .contact-site-box .contact-site-box-left .contact-item p {
          line-height: 1.2; }
      .contact-site .contact-site-item .contact-site-box .contact-site-box-left .button {
        margin: 0;
        color: #fff;
        font-weight: bold;
        margin-left: 1.42857rem; }

.departments-container {
  margin-top: 1.42857rem; }
  .departments-container hr {
    margin-top: 0; }
  .departments-container .departments-list ul {
    margin: 0;
    padding: 0;
    line-height: 3.3; }
    .departments-container .departments-list ul li {
      list-style: none;
      display: block;
      text-align: center;
      padding: 0;
      margin-bottom: 0.71429rem; }
      .departments-container .departments-list ul li .button {
        margin: 0; }
  .departments-container .user-item {
    font-size: 1rem;
    margin-bottom: 1.42857rem; }
    .departments-container .user-item .user-item-content {
      background: #f5f6f8;
      padding: 0.71429rem;
      line-height: 1.2;
      min-height: 7.14286rem; }
      .departments-container .user-item .user-item-content .user-name {
        font-weight: bold;
        font-size: 1.42857rem;
        line-height: 1.4; }
      .departments-container .user-item .user-item-content .user-email a {
        color: #00529c; }
      .departments-container .user-item .user-item-content .user-phone a {
        color: #00529c; }
      .departments-container .user-item .user-item-content .img {
        float: left;
        margin-right: 1.42857rem;
        min-height: 70px; }
        .departments-container .user-item .user-item-content .img img {
          border-radius: 50%; }
        .departments-container .user-item .user-item-content .img + .right {
          padding-left: calc(60px + 1.42857rem); }
  .departments-container .department-item {
    margin-top: 0; }
    .departments-container .department-item.first {
      margin-top: 1.42857rem; }
    .departments-container .department-item h3 {
      font-weight: bold;
      font-size: 2.14286rem;
      text-transform: uppercase;
      padding: 0 0.71429rem; }
    .departments-container .department-item .slick-block-wrapper .slick-block:last-child {
      float: left; }
    .departments-container .department-item .slick-block-wrapper .slick-dots {
      bottom: -0.71429rem; }
  .departments-container .slick-block {
    float: left; }

@media print, screen and (min-width: 40em) {
  .contact-box {
    height: 37.48126vw;
    max-height: 35.71429rem; }
    .contact-box .contact-box-left {
      width: 30%;
      float: left; }
      .contact-box .contact-box-left .contact-icons {
        display: block;
        margin-bottom: 10px; }
        .contact-box .contact-box-left .contact-icons .contact-icon {
          display: inline-block;
          width: 24px;
          height: 24px;
          margin-right: 8px;
          background-size: cover;
          background-color: transparent;
          background-repeat: no-repeat;
          opacity: 0.4; }
          .contact-box .contact-box-left .contact-icons .contact-icon:hover {
            opacity: 1; }
          .contact-box .contact-box-left .contact-icons .contact-icon.sell_new.iveco-daily {
            background-image: url(../../img/icons/light.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.sell_new.iveco-eurocargo {
            background-image: url(../../img/icons/medium.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.sell_new.iveco-stralis-trakker {
            background-image: url(../../img/icons/heavy.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.service.iveco-daily {
            background-image: url(../../img/icons/service-light.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.service.iveco-eurocargo {
            background-image: url(../../img/icons/service-medium.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.service.iveco-stralis-trakker {
            background-image: url(../../img/icons/service-heavy.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.truck_station {
            background-image: url(../../img/icons/truck_station.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.sell_used {
            background-image: url(../../img/icons/sell_used.png); }
          .contact-box .contact-box-left .contact-icons .contact-icon.parts {
            background-image: url(../../img/icons/parts.png); }
    .contact-box .contact-box-right {
      width: 70%;
      float: left; }
  .contact-site-box {
    height: 37.48126vw;
    max-height: 35.71429rem; }
    .contact-site-box .contact-site-box-left {
      width: 30%;
      float: left; }
    .contact-site-box .contact-site-box-right {
      width: 70%;
      float: left; } }

@media print, screen and (min-width: 64em) {
  .contact-site .contact-site-item > h2 {
    padding: 0; }
  .departments-container .department-item h3 {
    padding: 0; }
  .departments-container .departments-list ul li {
    display: inline;
    padding: 0 0.71429rem 0 0;
    margin-bottom: 0; }
    .departments-container .departments-list ul li:first-child {
      padding-left: 0; }
    .departments-container .departments-list ul li:last-child {
      padding-right: 0; } }

#homepage-map, #location-map {
  width: 100%;
  height: 100%;
  min-height: 35.71429rem; }

.scrollbar-inner > .scroll-element .scroll-element_track {
  background-color: #f7f7f7; }

.scrollbar-inner > .scroll-element .scroll-bar {
  background-color: #a7a7a7; }

.scrollbar-inner > .scroll-element:hover .scroll-bar {
  background-color: #535353; }

.print-button-block {
  padding: 0 10px;
  font-size: 25px;
  color: #bbb; }
  .print-button-block:hover {
    color: #000; }

.product-class .product-class-header {
  position: relative;
  margin-bottom: calc(20px); }
  .product-class .product-class-header h2 {
    font-weight: 900;
    font-size: 2.14286rem;
    padding: 0 0 calc(20px / 2); }
  .product-class .product-class-header .column-desc {
    width: 100%;
    padding: 0.71429rem 1.42857rem;
    right: 0;
    top: 0;
    height: 100%;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.2); }
    .product-class .product-class-header .column-desc .table-center-wrap {
      width: 100%; }
      .product-class .product-class-header .column-desc .table-center-wrap .header-title {
        display: block;
        background: white;
        padding: 5px 10px; }
      .product-class .product-class-header .column-desc .table-center-wrap .header-desc {
        display: block;
        background: white;
        padding: 5px 10px 1px; }
      .product-class .product-class-header .column-desc .table-center-wrap .header-btn {
        margin-top: 1.42857rem; }

.product-class .product-content {
  padding: calc(20px * 2) calc(20px / 2);
  margin-bottom: calc(20px); }

#product-class-slider {
  margin-bottom: calc(20px); }
  #product-class-slider .slide-item .slide-content {
    padding-left: calc(20px / 2);
    padding-right: calc(20px / 2);
    padding-bottom: calc(20px); }
    #product-class-slider .slide-item .slide-content .slide-title {
      font-weight: bold;
      font-size: 1.42857rem;
      padding-top: calc(20px * 2); }
  #product-class-slider .slick-dots {
    bottom: 0.71429rem; }

.product-class-tabs {
  margin-bottom: calc(20px); }
  .product-class-tabs .product-class-tabs-wrapper > .columns {
    padding-left: 0;
    padding-right: 0; }
  .product-class-tabs .product-class-tabs-wrapper .tabs {
    padding-bottom: 1.42857rem; }
    .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title > a {
      display: inline-block; }
      .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title > a:after {
        margin-left: 1.42857rem;
        content: "\f0d7";
        font-family: 'FontAwesome'; }
    .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title.is-active {
      font-weight: bold;
      border-bottom: 1px solid rgba(0, 0, 0, 0.11); }
      .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title.is-active > a:after {
        content: "\f0d8"; }
  .product-class-tabs .product-class-tabs-wrapper .tabs-content {
    padding-top: calc(10px); }
    .product-class-tabs .product-class-tabs-wrapper .tabs-content .tabs-panel {
      padding: 0 calc(20px / 2); }
      .product-class-tabs .product-class-tabs-wrapper .tabs-content .tabs-panel .tab-title {
        font-weight: bold;
        font-size: 1.42857rem; }

.product-class-awards {
  margin-bottom: calc(20px);
  text-align: center;
  padding: 0; }
  .product-class-awards figure {
    float: left;
    padding: 0 0.71429rem; }
    .product-class-awards figure:first-child {
      padding-left: 0; }
  .product-class-awards .md-5 {
    display: inline-block;
    padding: 1.42857rem 0;
    width: calc((100% / 3) - 4px); }
  .product-class-awards .md-7 {
    display: inline-block;
    padding: 0.71429rem 0;
    width: calc((100% / 5) - 4px);
    float: none; }
  .product-class-awards .md-custom {
    display: inline-block;
    padding: 1.42857rem 0;
    width: calc((100% / 4) - 4px);
    float: left; }

.product-class-boxes {
  margin-bottom: calc(20px); }
  .product-class-boxes .box-title {
    position: relative;
    background: #d5d9df;
    color: #000;
    line-height: 1.2;
    padding: calc(20px / 2);
    overflow: hidden;
    margin-bottom: 0.71429rem; }
    .product-class-boxes .box-title:after {
      display: none;
      content: '';
      width: 9.28571rem;
      height: 100%;
      background: #fff;
      position: absolute;
      right: 0;
      bottom: 0;
      transform: rotate(-45deg);
      transform-origin: 100% 0%; }
    .product-class-boxes .box-title .title {
      font-size: 2.14286rem;
      font-weight: bold; }
    .product-class-boxes .box-title .subtitle {
      font-size: 1.71429rem; }
  .product-class-boxes .box-content {
    margin-left: calc(-20px / 2);
    margin-right: calc(-20px / 2); }
    .product-class-boxes .box-content img {
      width: 100%; }
    .product-class-boxes .box-content .content {
      position: relative;
      margin-top: 1.42857rem; }
      .product-class-boxes .box-content .content .button {
        float: right; }
      .product-class-boxes .box-content .content h3 {
        font-size: 1.42857rem;
        font-weight: bold;
        padding: 0 0.71429rem;
        margin-bottom: 0.71429rem; }
      .product-class-boxes .box-content .content p {
        padding: 0 0.71429rem;
        line-height: 1.4; }
  .product-class-boxes > .columns.first-child .box-title {
    margin-left: calc(-20px / 2);
    margin-right: calc(-20px / 2); }
  .product-class-boxes > .columns.last-child .box-title {
    margin-right: calc(-20px / 2);
    margin-left: calc(-20px / 2); }

@media print, screen and (min-width: 40em) {
  .product-class-awards .md-5 {
    width: calc((100% / 4) - 4px); }
  .product-class-boxes .box-content {
    margin-left: 0;
    margin-right: 0; }
  .product-class-boxes > .columns.first-child {
    width: 50%; }
    .product-class-boxes > .columns.first-child .box-title {
      margin-right: 0; }
    .product-class-boxes > .columns.first-child .box-content {
      margin-left: calc(-20px / 2); }
  .product-class-boxes > .columns.last-child .box-title {
    margin-left: 0; }
  .product-class-boxes > .columns.last-child .box-content {
    margin-right: calc(-20px / 2); }
  .product-class-tabs .product-class-tabs-wrapper .tabs {
    border-right: 1px solid rgba(0, 0, 0, 0.11); }
    .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title > a:after {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .product-class .product-content {
    column-count: 2;
    column-gap: calc(20px * 2);
    padding-left: calc(20px * 2);
    padding-right: calc(20px * 2); }
  .product-class .product-class-header .column-desc {
    position: absolute;
    width: calc(100% / 3); }
  #product-class-slider .slide-item {
    padding: 0 2.85714rem;
    padding-right: 0.71429rem; }
    #product-class-slider .slide-item .slide-content {
      padding-left: 0;
      padding-right: 1.42857rem;
      margin-bottom: 0.71429rem; }
    #product-class-slider .slide-item .no-padding-medium {
      padding: 0 !important; }
  #product-class-slider .slick-dots {
    width: 50%; }
  .product-class-tabs .product-class-tabs-wrapper {
    padding: calc(40px); }
    .product-class-tabs .product-class-tabs-wrapper .tabs {
      border-bottom: none; }
      .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title {
        position: relative; }
        .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title.is-active:before {
          position: absolute;
          content: '>';
          left: -1.42857rem;
          line-height: 1.4;
          padding-top: 20px; }
        .product-class-tabs .product-class-tabs-wrapper .tabs .tabs-title > a {
          padding-right: 0;
          padding-left: 0; }
    .product-class-tabs .product-class-tabs-wrapper .tabs-content {
      padding-top: 0; }
      .product-class-tabs .product-class-tabs-wrapper .tabs-content .tabs-panel {
        padding: 0 calc(20px * 2); }
  .product-class-awards .md-5 {
    width: calc((100% / 6) - 4px); }
  .product-class-awards .md-7 {
    float: left;
    width: calc((100% / 7) - 4px); }
  .product-class-boxes .box-title:after {
    display: block; }
  .product-class-boxes .box-content .content {
    padding-right: 9.28571rem; }
    .product-class-boxes .box-content .content .button {
      position: absolute;
      top: 0;
      right: 0; }
  .product-class-boxes > .columns.first-child {
    padding-right: 2.85714rem; }
    .product-class-boxes > .columns.first-child .box-title {
      padding-left: calc(20px / 2); }
  .product-class-boxes > .columns.last-child {
    padding-left: 2.85714rem; }
    .product-class-boxes > .columns.last-child .box-title {
      padding-right: calc(20px / 2); } }

.available-filters {
  width: calc(100% + 2 * 10px);
  max-width: 45.71429rem;
  min-width: 20.71429rem;
  min-height: 7.14286rem;
  background: #eff1f4;
  color: white;
  margin-left: -10px;
  margin-right: -10px;
  margin-bottom: 2.85714rem; }
  .available-filters .available-filters-top {
    margin-bottom: 1.42857rem; }
    .available-filters .available-filters-top .logo-od {
      margin: 0 0.71429rem;
      float: left; }
    .available-filters .available-filters-top .logo-od-desc {
      font-weight: bold;
      font-size: 1.14286rem;
      color: #00529c;
      display: inline-block;
      float: left;
      padding: 2.14286rem 0; }
  .available-filters .available-filters-nadwozie .filter-item {
    cursor: pointer;
    padding: 1.42857rem 0;
    border-bottom: 1px solid rgba(0, 82, 156, 0.1);
    width: 100%;
    display: flex;
    flex-direction: row; }
    .available-filters .available-filters-nadwozie .filter-item > .column .table-center-wrap, .available-filters .available-filters-nadwozie .filter-item > .columns .table-center-wrap {
      min-height: 34px; }
    .available-filters .available-filters-nadwozie .filter-item .radio {
      text-align: center; }
      .available-filters .available-filters-nadwozie .filter-item .radio .circle {
        margin: 0.42857rem auto;
        position: relative;
        display: block;
        background: #fff;
        border-radius: 50%;
        width: 1.28571rem;
        height: 1.28571rem; }
        .available-filters .available-filters-nadwozie .filter-item .radio .circle:before {
          content: '';
          position: absolute;
          width: 0.57143rem;
          height: 0.57143rem;
          margin: auto;
          border-radius: 50%;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0; }
    .available-filters .available-filters-nadwozie .filter-item .title {
      font-size: 1rem;
      color: #000;
      text-transform: uppercase;
      line-height: 1.2;
      padding-left: 0; }
    .available-filters .available-filters-nadwozie .filter-item.is-active .radio .circle:before {
      background: #00529c; }
    .available-filters .available-filters-nadwozie .filter-item:hover .radio .circle:before {
      border: 1px solid #00529c; }
    .available-filters .available-filters-nadwozie .filter-item.loading {
      cursor: wait; }
  .available-filters .available-filters-nadwozie .filter2-item {
    cursor: pointer;
    padding: 1.42857rem 0;
    border-bottom: 1px solid rgba(0, 82, 156, 0.1);
    width: 100%;
    display: flex;
    flex-direction: row; }
    .available-filters .available-filters-nadwozie .filter2-item > .column .table-center-wrap, .available-filters .available-filters-nadwozie .filter2-item > .columns .table-center-wrap {
      min-height: 34px; }
    .available-filters .available-filters-nadwozie .filter2-item .radio {
      text-align: center; }
      .available-filters .available-filters-nadwozie .filter2-item .radio .circle {
        margin: 0.42857rem auto;
        position: relative;
        display: block;
        background: #fff;
        border-radius: 50%;
        width: 1.28571rem;
        height: 1.28571rem; }
        .available-filters .available-filters-nadwozie .filter2-item .radio .circle:before {
          content: '';
          position: absolute;
          width: 0.57143rem;
          height: 0.57143rem;
          margin: auto;
          border-radius: 50%;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0; }
    .available-filters .available-filters-nadwozie .filter2-item .title {
      font-size: 1rem;
      color: #000;
      text-transform: uppercase;
      line-height: 1.2;
      padding-left: 0; }
    .available-filters .available-filters-nadwozie .filter2-item.is-active .radio .circle:before {
      background: #00529c; }
    .available-filters .available-filters-nadwozie .filter2-item:hover .radio .circle:before {
      border: 1px solid #00529c; }
    .available-filters .available-filters-nadwozie .filter2-item.loading {
      cursor: wait; }
  .available-filters .btn-container {
    text-align: center; }
    .available-filters .btn-container .button {
      display: inline-block;
      font-weight: bold;
      margin: 0.71429rem auto; }

.available-list .available {
  margin-bottom: 1.42857rem; }
  .available-list .available figure {
    margin-bottom: 0.71429rem; }
  .available-list .available .columns > a {
    width: 100%; }
  .available-list .available .content {
    position: relative;
    display: flex;
    flex-direction: column; }
    .available-list .available .content h3 {
      font-weight: bold;
      font-size: 1.42857rem;
      line-height: 1;
      margin-bottom: 0.71429rem; }
    .available-list .available .content .params {
      margin-bottom: 20px; }
    .available-list .available .content .button {
      margin: 0;
      margin-right: 10px; }

.last-visible-element {
  cursor: pointer;
  position: relative;
  text-align: center; }
  .last-visible-element:before {
    pointer-events: none;
    display: block;
    position: absolute;
    top: 0;
    left: calc(10px);
    width: calc(100% - 20px);
    height: calc(100% - 10px);
    content: ''; }
  .last-visible-element:after {
    pointer-events: none;
    content: "\f054";
    font-family: FontAwesome;
    color: white;
    position: absolute;
    width: 100%;
    height: 32px;
    left: 0;
    top: calc(50% - 32px);
    line-height: 1.6;
    font-size: 34px; }
  .last-visible-element a {
    display: block; }
  .last-visible-element img {
    visibility: hidden; }

.single-available .content h3 {
  font-weight: bold;
  font-size: 1.42857rem;
  white-space: nowrap;
  margin: 0.71429rem 0; }

.single-available .content .group-title {
  font-weight: 900;
  padding: 0.71429rem 0;
  margin-top: 1.42857rem; }

.single-available .content .param-tech-build-item {
  padding-top: 0.71429rem;
  padding-bottom: 0.71429rem; }

.single-available .content .params-tech {
  margin-bottom: 2.85714rem; }
  .single-available .content .params-tech .param-tech-item {
    padding: 0.71429rem 0;
    border-bottom: 1px solid #f5f6f8; }
    .single-available .content .params-tech .param-tech-item:last-child {
      border-bottom: none; }

.single-available .content .params-additional {
  margin-bottom: 2.85714rem; }
  .single-available .content .params-additional ul {
    padding-left: 0.35714rem; }
    .single-available .content .params-additional ul li {
      -webkit-column-break-inside: avoid;
      page-break-inside: avoid;
      break-inside: avoid;
      padding: 0.71429rem 0;
      list-style: none url("../../img/icon-is-checked.jpg");
      line-height: 1.2;
      font-weight: bold; }
      .single-available .content .params-additional ul li span {
        position: relative;
        bottom: 0.14286rem; }

.single-available .content .params-extrafields {
  margin-bottom: 2.85714rem;
  color: #999;
  font-size: 90%; }
  .single-available .content .params-extrafields .param-tech-item {
    padding: 0.71429rem 0;
    border-bottom: 1px solid #f5f6f8; }
    .single-available .content .params-extrafields .param-tech-item:last-child {
      border-bottom: none; }

.single-available-gallery {
  width: 100%;
  margin-bottom: 10px; }
  .single-available-gallery > .row {
    display: flex;
    flex-wrap: wrap; }
  .single-available-gallery > figure {
    margin-bottom: 1.42857rem;
    position: relative;
    text-align: center; }
    .single-available-gallery > figure img {
      opacity: 0;
      transform: scale(0.2);
      transition: all ease-in-out 0.2s;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto; }
      .single-available-gallery > figure img.is-active {
        opacity: 1;
        transform: scale(1); }
      .single-available-gallery > figure img:first-child {
        position: static; }
  .single-available-gallery figure {
    position: relative; }
    .single-available-gallery figure .search-icon {
      position: absolute;
      bottom: 0;
      right: 0; }
  .single-available-gallery .gallery-right {
    margin-top: 0.71429rem;
    display: flex;
    flex-direction: column; }
  .single-available-gallery .gallery {
    margin-bottom: 10px; }
    .single-available-gallery .gallery .item.item-5 {
      cursor: pointer;
      position: relative;
      text-align: center; }
      .single-available-gallery .gallery .item.item-5:before {
        pointer-events: none;
        display: block;
        position: absolute;
        top: 0;
        left: calc(10px);
        width: calc(100% - 20px);
        height: calc(100% - 10px);
        content: '';
        background: #f1f1f1; }
      .single-available-gallery .gallery .item.item-5:after {
        pointer-events: none;
        content: "\f054";
        font-family: FontAwesome;
        color: white;
        position: absolute;
        width: 100%;
        height: 32px;
        left: 0;
        top: calc(50% - 32px);
        line-height: 1.6;
        font-size: 34px; }
      .single-available-gallery .gallery .item.item-5 a {
        display: block; }
      .single-available-gallery .gallery .item.item-5 img {
        visibility: hidden; }
    .single-available-gallery .gallery img {
      cursor: pointer;
      margin-bottom: 0.71429rem; }

.car-fast-contact-buttons {
  display: flex;
  flex-direction: column;
  margin-top: auto; }
  .car-fast-contact-buttons .button {
    margin-bottom: 0;
    margin-top: 10px; }

@media print, screen and (min-width: 40em) {
  .available-filters {
    width: 100%;
    margin: 0 auto 2.85714rem; }
  .single-available .content .params-tech, .single-available .content .params-additional {
    column-count: 2;
    column-gap: calc(20px * 2); }
  .single-available-gallery .gallery-right {
    max-width: calc(100% * 5 / 12 - 2.7%);
    margin-top: 0; }
  .single-available-gallery .gallery .item.last-visible {
    cursor: pointer;
    position: relative;
    text-align: center;
    border-radius: 50%; }
    .single-available-gallery .gallery .item.last-visible:before {
      pointer-events: none;
      display: block;
      position: absolute;
      top: 0;
      left: calc(10px);
      width: calc(100% - 20px);
      height: calc(100% - 10px);
      content: '';
      background: #f1f1f1; }
    .single-available-gallery .gallery .item.last-visible:after {
      pointer-events: none;
      content: "\f054";
      font-family: FontAwesome;
      color: white;
      position: absolute;
      width: 100%;
      height: 32px;
      left: 0;
      top: calc(50% - 32px);
      line-height: 1.6;
      font-size: 34px; }
    .single-available-gallery .gallery .item.last-visible a {
      display: block; }
    .single-available-gallery .gallery .item.last-visible img {
      visibility: hidden; }
  .single-available-gallery .gallery .item.item-5:before, .single-available-gallery .gallery .item.item-5:after {
    display: none; }
  .single-available-gallery .gallery .item.item-5 img {
    visibility: visible; } }

@media print, screen and (min-width: 64em) {
  .single-available .content .params-tech, .single-available .content .params-additional {
    column-count: 3;
    column-gap: calc(20px * 2); } }

@media screen and (min-width: 75em) {
  .single-available .content .params-tech, .single-available .content .params-additional {
    column-count: 4;
    column-gap: calc(20px * 2); } }

.car-buttons {
  display: flex;
  justify-content: flex-end;
  margin-top: auto; }

.car-fast-contact-icons {
  display: flex; }

.car-fast-contact-icon {
  background-color: #0053ff;
  margin-right: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 100%; }

.car-fast-contact-icon img {
  max-width: 22px; }

.car-fast-contact-icon:hover {
  background-color: #0049e0; }

.car-fast-contact-icon-tooltip {
  position: absolute;
  white-space: nowrap;
  color: #fff;
  font-size: 32px;
  background-color: #0053ff;
  bottom: calc(100% + 14px);
  right: 0;
  padding: 2px 20px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .car-fast-contact-icon-tooltip {
      display: block; } }

.car-fast-contact-icon-tooltip.active {
  opacity: 1;
  visibility: visible; }

.car-fast-contact-icon-tooltip .close {
  position: absolute;
  top: 0;
  right: 0;
  width: 33px;
  height: 33px;
  background: url(/images/close-tooltip.svg) no-repeat center/contain;
  transform: translate(50%, -50%);
  cursor: pointer; }

.car-fast-contact-icon-tooltip::after {
  position: absolute;
  content: '';
  border-left: solid 10px transparent;
  border-right: solid 10px transparent;
  border-top: solid 10px #0053ff;
  top: 100%;
  right: 9px; }

@font-face {
  font-family: "GillSans";
  src: url("../../fonts/gill-sans/Gill_Sans_Nova_Light.woff");
  font-weight: 300;
  font-display: swap; }

@font-face {
  font-family: "GillSans";
  src: url("../../fonts/gill-sans/Gill_Sans_Nova_Book.woff");
  font-weight: 400;
  font-display: swap; }

@font-face {
  font-family: "GillSans";
  src: url("../../fonts/gill-sans/Gill_Sans_Nova_Medium.woff");
  font-weight: 500;
  font-display: swap; }

@font-face {
  font-family: "GillSans";
  src: url("../../fonts/gill-sans/Gill_Sans_Nova_Bold.woff");
  font-weight: 700;
  font-display: swap; }

.heading img {
  display: inline-block; }

.slick-initialized {
  max-width: 100%; }

.contact-site {
  width: 100%; }

.promotion-list {
  margin-bottom: 3.57143rem;
  width: 100%; }
  .promotion-list .promotion-header > a {
    display: block; }
    .promotion-list .promotion-header > a > span {
      display: block; }
  .promotion-list .promotion-header .table-center-wrap {
    position: relative;
    width: 100%; }
    .promotion-list .promotion-header .table-center-wrap .table-center {
      width: 100%; }
      .promotion-list .promotion-header .table-center-wrap .table-center > * {
        display: inline-block;
        vertical-align: middle; }
  .promotion-list .promotion-header h2 {
    display: block !important;
    font-weight: bold;
    font-size: 1.42857rem;
    padding: 0 0 calc(20px / 2); }
  .promotion-list .promotion-header p {
    padding-bottom: 1.42857rem; }
  .promotion-list .promotion-box-item {
    position: relative;
    margin-bottom: calc(20px / 2); }
    .promotion-list .promotion-box-item figure {
      margin-bottom: calc(20px / 2); }
      .promotion-list .promotion-box-item figure img {
        max-width: 100%; }
    .promotion-list .promotion-box-item .content {
      padding-bottom: 0;
      min-height: 80px; }
      .promotion-list .promotion-box-item .content h3 {
        display: block;
        font-size: 1rem;
        font-weight: bold; }
      .promotion-list .promotion-box-item .content p {
        width: 100%;
        line-height: 1.4;
        margin-bottom: 0; }
      .promotion-list .promotion-box-item .content .button {
        float: right;
        margin: auto;
        margin-top: 0.71429rem; }
    .promotion-list .promotion-box-item:hover h3, .promotion-list .promotion-box-item:hover p {
      text-decoration: none; }

@media print, screen and (min-width: 64em) {
  .single-promotion-page .md-breadcrumbs .large-12 {
    width: calc(100% - 520px);
    overflow: hidden;
    white-space: nowrap; } }

.icons5 {
  margin: 0 auto; }

.single-promotion {
  position: relative; }
  .single-promotion .contact-form-wrapper {
    width: 100%;
    margin: auto; }
    @media print, screen and (min-width: 64em) {
      .single-promotion .contact-form-wrapper {
        position: absolute;
        top: calc(-37px - 19px - 20px);
        right: 0;
        padding: 0 0.71429rem; } }
  .single-promotion .promotion__wrapper figure {
    padding-right: 0; }
    @media print, screen and (min-width: 64em) {
      .single-promotion .promotion__wrapper figure {
        max-width: calc(90.35714rem - 500px);
        padding-right: 1.42857rem; } }
    @media screen and (max-width: 74.9375em) {
      .single-promotion .promotion__wrapper figure img {
        min-height: auto !important; } }

.promotion.promotion--big {
  position: relative; }
  .promotion.promotion--big .promotion__content {
    position: relative; }
    .promotion.promotion--big .promotion__content .content-start-header {
      position: absolute;
      right: 0;
      top: 0; }
    .promotion.promotion--big .promotion__content .promotion-date {
      margin-top: 1.42857rem; }
    .promotion.promotion--big .promotion__content .lead {
      font-weight: bold;
      padding-bottom: calc(20px / 2); }

.promotion-more {
  margin-top: 1.42857rem; }
  .promotion-more .promotion-more-head {
    font-size: 2.14286rem;
    font-weight: bold;
    margin-bottom: 0.71429rem; }
  .promotion-more .promotion-more-content .promotion-box-item {
    position: relative;
    margin-bottom: calc(20px / 2); }
    .promotion-more .promotion-more-content .promotion-box-item figure {
      margin-bottom: calc(20px / 2); }
      .promotion-more .promotion-more-content .promotion-box-item figure img {
        max-width: 100%; }
    .promotion-more .promotion-more-content .promotion-box-item .content {
      position: relative;
      padding-bottom: 0;
      min-height: 80px; }
      .promotion-more .promotion-more-content .promotion-box-item .content h3 {
        font-size: 1rem;
        font-weight: bold; }
      .promotion-more .promotion-more-content .promotion-box-item .content p {
        width: 100%;
        line-height: 1.4;
        margin-bottom: 0; }
      .promotion-more .promotion-more-content .promotion-box-item .content .button {
        float: right;
        margin: auto;
        margin-top: 0.71429rem; }

@media print, screen and (min-width: 40em) {
  .promotion-list .promotion-header .button {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0; }
  .promotion-list .promotion-box-item .content {
    position: relative; }
    .promotion-list .promotion-box-item .content p {
      width: calc(100% - 140px); }
    .promotion-list .promotion-box-item .content .button {
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -0.57143rem; }
  .promotion-more .promotion-more-content .promotion-box-item .content p {
    width: calc(100% - 140px); }
  .promotion-more .promotion-more-content .promotion-box-item .content .button {
    position: absolute;
    top: 50%;
    right: 0.71429rem;
    margin-top: -0.57143rem; }
  .promotion.promotion--big .promotion__content .lead {
    width: 70%; } }

.promotion-header .promotion-header-left {
  display: flex;
  flex-direction: column;
  background: #000; }

@media (min-width: 992px) {
  .promotion-header .promotion-header-left {
    width: calc(100% - 475px); } }

.promotion-header .promotion-header-video {
  position: relative;
  height: auto;
  flex-grow: 1; }

.promotion-header .promotion-header-video-video {
  width: 100%; }

@media (min-width: 992px) {
  .promotion-header .promotion-header-video-video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%; } }

.promotion-header .promotion-header-image {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left; }

.promotion-header .promotion-header-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2; }

.promotion-header .promotion-header-caption {
  background: #191919;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  padding: 16px; }

.promotion-header .overflow-bg {
  background: #FFF;
  padding: 15px 10px;
  min-height: 100%;
  position: relative;
  z-index: 2; }
  @media (min-width: 576px) {
    .promotion-header .overflow-bg {
      padding: 15px 40px; } }

.promotion-header {
  background-size: cover;
  background-position: left center;
  position: relative;
  width: 100%;
  overflow: visible;
  min-height: 300px;
  height: auto !important;
  margin-bottom: 3rem; }

@media (min-width: 992px) {
  .promotion-header {
    display: flex;
    max-height: calc(100vh - 74px);
    min-height: 517px; } }

@media (min-width: 992px) {
  .promotion-header .banner-desktop {
    flex-grow: 1; }
  .promotion-header .promotion-form {
    background-image: none !important;
    width: 475px;
    position: absolute;
    top: 0;
    right: 0; } }

.promotion-header-text {
  text-transform: uppercase;
  position: absolute;
  top: 2rem;
  left: 2rem;
  font-size: 28px;
  line-height: 36px;
  color: #FFFFFF;
  max-width: 334px;
  font-weight: 900;
  border-left: 10px solid #007bff;
  padding-left: 2rem;
  font-family: GillSans, sans-serif; }
  .promotion-header-text-blue {
    border-left: 10px solid #007bff; }
  .promotion-header-text-green {
    border-left: 10px solid green; }
  .promotion-header-text-other {
    border-left: 10px solid orange; }
  @media (min-width: 576px) {
    .promotion-header-text {
      max-width: 460px; } }
  @media (min-width: 768px) {
    .promotion-header-text {
      max-width: 620px;
      font-size: 40px;
      line-height: 48px; } }
  @media (min-width: 992px) {
    .promotion-header-text {
      font-size: 40px;
      line-height: 48px;
      max-width: 468px; } }
  @media (min-width: 1200px) {
    .promotion-header-text {
      top: 3rem;
      left: 3rem;
      font-size: 58px;
      line-height: 68px;
      max-width: 650px; } }
  @media screen and (min-width: 1400px) {
    .promotion-header-text {
      font-size: 66px;
      line-height: 76px;
      max-width: 730px; } }
  @media screen and (min-width: 1600px) {
    .promotion-header-text {
      font-size: 70px;
      line-height: 78px;
      max-width: 760px; } }

.promotion-form a {
  color: #000; }

.promotion-form label,
.promotion-form p {
  font-size: 10px; }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .promotion-form label,
  .promotion-form p {
    font-size: 9px; } }

.promotion-form label a {
  color: #000;
  font-weight: 700; }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .promotion-form .form-group,
  .promotion-form p {
    margin-bottom: 7px; } }

.promotion-form {
  padding: 0;
  color: #000;
  min-height: 100%;
  border: none;
  text-align: left; }
  .promotion-form .container {
    width: 100%;
    padding-right: 24px;
    padding-left: 24px;
    margin-right: auto;
    margin-left: auto; }
    @media (min-width: 576px) {
      .promotion-form .container {
        max-width: 540px; } }
    @media (min-width: 768px) {
      .promotion-form .container {
        max-width: 720px; } }
    @media (min-width: 992px) {
      .promotion-form .container {
        max-width: 960px; } }
    @media (min-width: 1200px) {
      .promotion-form .container {
        max-width: 1140px; } }
  .promotion-form .container-fluid, .promotion-form .container-sm, .promotion-form .container-md, .promotion-form .container-lg, .promotion-form .container-xl {
    width: 100%;
    padding-right: 24px;
    padding-left: 24px;
    margin-right: auto;
    margin-left: auto; }
  @media (min-width: 576px) {
    .promotion-form .container, .promotion-form .container-sm {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .promotion-form .container, .promotion-form .container-sm, .promotion-form .container-md {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .promotion-form .container, .promotion-form .container-sm, .promotion-form .container-md, .promotion-form .container-lg {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .promotion-form .container, .promotion-form .container-sm, .promotion-form .container-md, .promotion-form .container-lg, .promotion-form .container-xl {
      max-width: 1140px; } }
  .promotion-form .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -24px;
    margin-left: -24px; }
  .promotion-form .no-gutters {
    margin-right: 0;
    margin-left: 0; }
    .promotion-form .no-gutters > .col,
    .promotion-form .no-gutters > [class*="col-"] {
      padding-right: 0;
      padding-left: 0; }
  .promotion-form .col-1, .promotion-form .col-2, .promotion-form .col-3, .promotion-form .col-4, .promotion-form .col-5, .promotion-form .col-6, .promotion-form .col-7, .promotion-form .col-8, .promotion-form .col-9, .promotion-form .col-10, .promotion-form .col-11, .promotion-form .col-12, .promotion-form .col,
  .promotion-form .col-auto, .promotion-form .col-sm-1, .promotion-form .col-sm-2, .promotion-form .col-sm-3, .promotion-form .col-sm-4, .promotion-form .col-sm-5, .promotion-form .col-sm-6, .promotion-form .col-sm-7, .promotion-form .col-sm-8, .promotion-form .col-sm-9, .promotion-form .col-sm-10, .promotion-form .col-sm-11, .promotion-form .col-sm-12, .promotion-form .col-sm,
  .promotion-form .col-sm-auto, .promotion-form .col-md-1, .promotion-form .col-md-2, .promotion-form .col-md-3, .promotion-form .col-md-4, .promotion-form .col-md-5, .promotion-form .col-md-6, .promotion-form .col-md-7, .promotion-form .col-md-8, .promotion-form .col-md-9, .promotion-form .col-md-10, .promotion-form .col-md-11, .promotion-form .col-md-12, .promotion-form .col-md,
  .promotion-form .col-md-auto, .promotion-form .col-lg-1, .promotion-form .col-lg-2, .promotion-form .col-lg-3, .promotion-form .col-lg-4, .promotion-form .col-lg-5, .promotion-form .col-lg-6, .promotion-form .col-lg-7, .promotion-form .col-lg-8, .promotion-form .col-lg-9, .promotion-form .col-lg-10, .promotion-form .col-lg-11, .promotion-form .col-lg-12, .promotion-form .col-lg,
  .promotion-form .col-lg-auto, .promotion-form .col-xl-1, .promotion-form .col-xl-2, .promotion-form .col-xl-3, .promotion-form .col-xl-4, .promotion-form .col-xl-5, .promotion-form .col-xl-6, .promotion-form .col-xl-7, .promotion-form .col-xl-8, .promotion-form .col-xl-9, .promotion-form .col-xl-10, .promotion-form .col-xl-11, .promotion-form .col-xl-12, .promotion-form .col-xl,
  .promotion-form .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 24px;
    padding-left: 24px; }
  .promotion-form .col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .promotion-form .row-cols-1 > * {
    flex: 0 0 100%;
    max-width: 100%; }
  .promotion-form .row-cols-2 > * {
    flex: 0 0 50%;
    max-width: 50%; }
  .promotion-form .row-cols-3 > * {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .promotion-form .row-cols-4 > * {
    flex: 0 0 25%;
    max-width: 25%; }
  .promotion-form .row-cols-5 > * {
    flex: 0 0 20%;
    max-width: 20%; }
  .promotion-form .row-cols-6 > * {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .promotion-form .col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%; }
  .promotion-form .col-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .promotion-form .col-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .promotion-form .col-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .promotion-form .col-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .promotion-form .col-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .promotion-form .col-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .promotion-form .col-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .promotion-form .col-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .promotion-form .col-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .promotion-form .col-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .promotion-form .col-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .promotion-form .col-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .promotion-form .order-first {
    order: -1; }
  .promotion-form .order-last {
    order: 13; }
  .promotion-form .order-0 {
    order: 0; }
  .promotion-form .order-1 {
    order: 1; }
  .promotion-form .order-2 {
    order: 2; }
  .promotion-form .order-3 {
    order: 3; }
  .promotion-form .order-4 {
    order: 4; }
  .promotion-form .order-5 {
    order: 5; }
  .promotion-form .order-6 {
    order: 6; }
  .promotion-form .order-7 {
    order: 7; }
  .promotion-form .order-8 {
    order: 8; }
  .promotion-form .order-9 {
    order: 9; }
  .promotion-form .order-10 {
    order: 10; }
  .promotion-form .order-11 {
    order: 11; }
  .promotion-form .order-12 {
    order: 12; }
  .promotion-form .offset-1 {
    margin-left: 8.33333%; }
  .promotion-form .offset-2 {
    margin-left: 16.66667%; }
  .promotion-form .offset-3 {
    margin-left: 25%; }
  .promotion-form .offset-4 {
    margin-left: 33.33333%; }
  .promotion-form .offset-5 {
    margin-left: 41.66667%; }
  .promotion-form .offset-6 {
    margin-left: 50%; }
  .promotion-form .offset-7 {
    margin-left: 58.33333%; }
  .promotion-form .offset-8 {
    margin-left: 66.66667%; }
  .promotion-form .offset-9 {
    margin-left: 75%; }
  .promotion-form .offset-10 {
    margin-left: 83.33333%; }
  .promotion-form .offset-11 {
    margin-left: 91.66667%; }
  @media (min-width: 576px) {
    .promotion-form .col-sm {
      flex-basis: 0;
      flex-grow: 1;
      max-width: 100%; }
    .promotion-form .row-cols-sm-1 > * {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .row-cols-sm-2 > * {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .row-cols-sm-3 > * {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .row-cols-sm-4 > * {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .row-cols-sm-5 > * {
      flex: 0 0 20%;
      max-width: 20%; }
    .promotion-form .row-cols-sm-6 > * {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-sm-auto {
      flex: 0 0 auto;
      width: auto;
      max-width: 100%; }
    .promotion-form .col-sm-1 {
      flex: 0 0 8.33333%;
      max-width: 8.33333%; }
    .promotion-form .col-sm-2 {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-sm-3 {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .col-sm-4 {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .col-sm-5 {
      flex: 0 0 41.66667%;
      max-width: 41.66667%; }
    .promotion-form .col-sm-6 {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .col-sm-7 {
      flex: 0 0 58.33333%;
      max-width: 58.33333%; }
    .promotion-form .col-sm-8 {
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    .promotion-form .col-sm-9 {
      flex: 0 0 75%;
      max-width: 75%; }
    .promotion-form .col-sm-10 {
      flex: 0 0 83.33333%;
      max-width: 83.33333%; }
    .promotion-form .col-sm-11 {
      flex: 0 0 91.66667%;
      max-width: 91.66667%; }
    .promotion-form .col-sm-12 {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .order-sm-first {
      order: -1; }
    .promotion-form .order-sm-last {
      order: 13; }
    .promotion-form .order-sm-0 {
      order: 0; }
    .promotion-form .order-sm-1 {
      order: 1; }
    .promotion-form .order-sm-2 {
      order: 2; }
    .promotion-form .order-sm-3 {
      order: 3; }
    .promotion-form .order-sm-4 {
      order: 4; }
    .promotion-form .order-sm-5 {
      order: 5; }
    .promotion-form .order-sm-6 {
      order: 6; }
    .promotion-form .order-sm-7 {
      order: 7; }
    .promotion-form .order-sm-8 {
      order: 8; }
    .promotion-form .order-sm-9 {
      order: 9; }
    .promotion-form .order-sm-10 {
      order: 10; }
    .promotion-form .order-sm-11 {
      order: 11; }
    .promotion-form .order-sm-12 {
      order: 12; }
    .promotion-form .offset-sm-0 {
      margin-left: 0; }
    .promotion-form .offset-sm-1 {
      margin-left: 8.33333%; }
    .promotion-form .offset-sm-2 {
      margin-left: 16.66667%; }
    .promotion-form .offset-sm-3 {
      margin-left: 25%; }
    .promotion-form .offset-sm-4 {
      margin-left: 33.33333%; }
    .promotion-form .offset-sm-5 {
      margin-left: 41.66667%; }
    .promotion-form .offset-sm-6 {
      margin-left: 50%; }
    .promotion-form .offset-sm-7 {
      margin-left: 58.33333%; }
    .promotion-form .offset-sm-8 {
      margin-left: 66.66667%; }
    .promotion-form .offset-sm-9 {
      margin-left: 75%; }
    .promotion-form .offset-sm-10 {
      margin-left: 83.33333%; }
    .promotion-form .offset-sm-11 {
      margin-left: 91.66667%; } }
  @media (min-width: 768px) {
    .promotion-form .col-md {
      flex-basis: 0;
      flex-grow: 1;
      max-width: 100%; }
    .promotion-form .row-cols-md-1 > * {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .row-cols-md-2 > * {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .row-cols-md-3 > * {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .row-cols-md-4 > * {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .row-cols-md-5 > * {
      flex: 0 0 20%;
      max-width: 20%; }
    .promotion-form .row-cols-md-6 > * {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-md-auto {
      flex: 0 0 auto;
      width: auto;
      max-width: 100%; }
    .promotion-form .col-md-1 {
      flex: 0 0 8.33333%;
      max-width: 8.33333%; }
    .promotion-form .col-md-2 {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-md-3 {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .col-md-4 {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .col-md-5 {
      flex: 0 0 41.66667%;
      max-width: 41.66667%; }
    .promotion-form .col-md-6 {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .col-md-7 {
      flex: 0 0 58.33333%;
      max-width: 58.33333%; }
    .promotion-form .col-md-8 {
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    .promotion-form .col-md-9 {
      flex: 0 0 75%;
      max-width: 75%; }
    .promotion-form .col-md-10 {
      flex: 0 0 83.33333%;
      max-width: 83.33333%; }
    .promotion-form .col-md-11 {
      flex: 0 0 91.66667%;
      max-width: 91.66667%; }
    .promotion-form .col-md-12 {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .order-md-first {
      order: -1; }
    .promotion-form .order-md-last {
      order: 13; }
    .promotion-form .order-md-0 {
      order: 0; }
    .promotion-form .order-md-1 {
      order: 1; }
    .promotion-form .order-md-2 {
      order: 2; }
    .promotion-form .order-md-3 {
      order: 3; }
    .promotion-form .order-md-4 {
      order: 4; }
    .promotion-form .order-md-5 {
      order: 5; }
    .promotion-form .order-md-6 {
      order: 6; }
    .promotion-form .order-md-7 {
      order: 7; }
    .promotion-form .order-md-8 {
      order: 8; }
    .promotion-form .order-md-9 {
      order: 9; }
    .promotion-form .order-md-10 {
      order: 10; }
    .promotion-form .order-md-11 {
      order: 11; }
    .promotion-form .order-md-12 {
      order: 12; }
    .promotion-form .offset-md-0 {
      margin-left: 0; }
    .promotion-form .offset-md-1 {
      margin-left: 8.33333%; }
    .promotion-form .offset-md-2 {
      margin-left: 16.66667%; }
    .promotion-form .offset-md-3 {
      margin-left: 25%; }
    .promotion-form .offset-md-4 {
      margin-left: 33.33333%; }
    .promotion-form .offset-md-5 {
      margin-left: 41.66667%; }
    .promotion-form .offset-md-6 {
      margin-left: 50%; }
    .promotion-form .offset-md-7 {
      margin-left: 58.33333%; }
    .promotion-form .offset-md-8 {
      margin-left: 66.66667%; }
    .promotion-form .offset-md-9 {
      margin-left: 75%; }
    .promotion-form .offset-md-10 {
      margin-left: 83.33333%; }
    .promotion-form .offset-md-11 {
      margin-left: 91.66667%; } }
  @media (min-width: 992px) {
    .promotion-form .col-lg {
      flex-basis: 0;
      flex-grow: 1;
      max-width: 100%; }
    .promotion-form .row-cols-lg-1 > * {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .row-cols-lg-2 > * {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .row-cols-lg-3 > * {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .row-cols-lg-4 > * {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .row-cols-lg-5 > * {
      flex: 0 0 20%;
      max-width: 20%; }
    .promotion-form .row-cols-lg-6 > * {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-lg-auto {
      flex: 0 0 auto;
      width: auto;
      max-width: 100%; }
    .promotion-form .col-lg-1 {
      flex: 0 0 8.33333%;
      max-width: 8.33333%; }
    .promotion-form .col-lg-2 {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-lg-3 {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .col-lg-4 {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .col-lg-5 {
      flex: 0 0 41.66667%;
      max-width: 41.66667%; }
    .promotion-form .col-lg-6 {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .col-lg-7 {
      flex: 0 0 58.33333%;
      max-width: 58.33333%; }
    .promotion-form .col-lg-8 {
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    .promotion-form .col-lg-9 {
      flex: 0 0 75%;
      max-width: 75%; }
    .promotion-form .col-lg-10 {
      flex: 0 0 83.33333%;
      max-width: 83.33333%; }
    .promotion-form .col-lg-11 {
      flex: 0 0 91.66667%;
      max-width: 91.66667%; }
    .promotion-form .col-lg-12 {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .order-lg-first {
      order: -1; }
    .promotion-form .order-lg-last {
      order: 13; }
    .promotion-form .order-lg-0 {
      order: 0; }
    .promotion-form .order-lg-1 {
      order: 1; }
    .promotion-form .order-lg-2 {
      order: 2; }
    .promotion-form .order-lg-3 {
      order: 3; }
    .promotion-form .order-lg-4 {
      order: 4; }
    .promotion-form .order-lg-5 {
      order: 5; }
    .promotion-form .order-lg-6 {
      order: 6; }
    .promotion-form .order-lg-7 {
      order: 7; }
    .promotion-form .order-lg-8 {
      order: 8; }
    .promotion-form .order-lg-9 {
      order: 9; }
    .promotion-form .order-lg-10 {
      order: 10; }
    .promotion-form .order-lg-11 {
      order: 11; }
    .promotion-form .order-lg-12 {
      order: 12; }
    .promotion-form .offset-lg-0 {
      margin-left: 0; }
    .promotion-form .offset-lg-1 {
      margin-left: 8.33333%; }
    .promotion-form .offset-lg-2 {
      margin-left: 16.66667%; }
    .promotion-form .offset-lg-3 {
      margin-left: 25%; }
    .promotion-form .offset-lg-4 {
      margin-left: 33.33333%; }
    .promotion-form .offset-lg-5 {
      margin-left: 41.66667%; }
    .promotion-form .offset-lg-6 {
      margin-left: 50%; }
    .promotion-form .offset-lg-7 {
      margin-left: 58.33333%; }
    .promotion-form .offset-lg-8 {
      margin-left: 66.66667%; }
    .promotion-form .offset-lg-9 {
      margin-left: 75%; }
    .promotion-form .offset-lg-10 {
      margin-left: 83.33333%; }
    .promotion-form .offset-lg-11 {
      margin-left: 91.66667%; } }
  @media (min-width: 1200px) {
    .promotion-form .col-xl {
      flex-basis: 0;
      flex-grow: 1;
      max-width: 100%; }
    .promotion-form .row-cols-xl-1 > * {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .row-cols-xl-2 > * {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .row-cols-xl-3 > * {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .row-cols-xl-4 > * {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .row-cols-xl-5 > * {
      flex: 0 0 20%;
      max-width: 20%; }
    .promotion-form .row-cols-xl-6 > * {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-xl-auto {
      flex: 0 0 auto;
      width: auto;
      max-width: 100%; }
    .promotion-form .col-xl-1 {
      flex: 0 0 8.33333%;
      max-width: 8.33333%; }
    .promotion-form .col-xl-2 {
      flex: 0 0 16.66667%;
      max-width: 16.66667%; }
    .promotion-form .col-xl-3 {
      flex: 0 0 25%;
      max-width: 25%; }
    .promotion-form .col-xl-4 {
      flex: 0 0 33.33333%;
      max-width: 33.33333%; }
    .promotion-form .col-xl-5 {
      flex: 0 0 41.66667%;
      max-width: 41.66667%; }
    .promotion-form .col-xl-6 {
      flex: 0 0 50%;
      max-width: 50%; }
    .promotion-form .col-xl-7 {
      flex: 0 0 58.33333%;
      max-width: 58.33333%; }
    .promotion-form .col-xl-8 {
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    .promotion-form .col-xl-9 {
      flex: 0 0 75%;
      max-width: 75%; }
    .promotion-form .col-xl-10 {
      flex: 0 0 83.33333%;
      max-width: 83.33333%; }
    .promotion-form .col-xl-11 {
      flex: 0 0 91.66667%;
      max-width: 91.66667%; }
    .promotion-form .col-xl-12 {
      flex: 0 0 100%;
      max-width: 100%; }
    .promotion-form .order-xl-first {
      order: -1; }
    .promotion-form .order-xl-last {
      order: 13; }
    .promotion-form .order-xl-0 {
      order: 0; }
    .promotion-form .order-xl-1 {
      order: 1; }
    .promotion-form .order-xl-2 {
      order: 2; }
    .promotion-form .order-xl-3 {
      order: 3; }
    .promotion-form .order-xl-4 {
      order: 4; }
    .promotion-form .order-xl-5 {
      order: 5; }
    .promotion-form .order-xl-6 {
      order: 6; }
    .promotion-form .order-xl-7 {
      order: 7; }
    .promotion-form .order-xl-8 {
      order: 8; }
    .promotion-form .order-xl-9 {
      order: 9; }
    .promotion-form .order-xl-10 {
      order: 10; }
    .promotion-form .order-xl-11 {
      order: 11; }
    .promotion-form .order-xl-12 {
      order: 12; }
    .promotion-form .offset-xl-0 {
      margin-left: 0; }
    .promotion-form .offset-xl-1 {
      margin-left: 8.33333%; }
    .promotion-form .offset-xl-2 {
      margin-left: 16.66667%; }
    .promotion-form .offset-xl-3 {
      margin-left: 25%; }
    .promotion-form .offset-xl-4 {
      margin-left: 33.33333%; }
    .promotion-form .offset-xl-5 {
      margin-left: 41.66667%; }
    .promotion-form .offset-xl-6 {
      margin-left: 50%; }
    .promotion-form .offset-xl-7 {
      margin-left: 58.33333%; }
    .promotion-form .offset-xl-8 {
      margin-left: 66.66667%; }
    .promotion-form .offset-xl-9 {
      margin-left: 75%; }
    .promotion-form .offset-xl-10 {
      margin-left: 83.33333%; }
    .promotion-form .offset-xl-11 {
      margin-left: 91.66667%; } }
  .promotion-form .form-row {
    margin-left: -10px;
    margin-right: -10px; }
  .promotion-form .form-row > .col,
  .promotion-form .form-row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px; }
  .promotion-form.preloader .overflow-bg::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url("../../img/loader.gif");
    background-size: auto;
    background-position: center center;
    background-color: rgba(255, 255, 255, 0.9);
    background-repeat: no-repeat;
    z-index: 20;
    cursor: wait; }
  .promotion-form .h2, .promotion-form .h2 p {
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
    text-align: left; }
    @media (min-width: 768px) {
      .promotion-form .h2, .promotion-form .h2 p {
        font-size: 23px;
        text-align: left; } }
  .promotion-form .h2 {
    margin: 0 0 1rem 0;
    padding: 0 9px; }
  .promotion-form label:not(.custom-control-label) {
    transition: all 0.2s;
    touch-action: manipulation;
    transform-origin: left bottom;
    padding-left: 14px;
    position: absolute;
    top: .6rem; }
  .promotion-form .form-control::placeholder {
    opacity: 0; }
  .promotion-form .form-group {
    margin-bottom: 8px; }
  .promotion-form .form-control {
    color: #000;
    box-shadow: none !important;
    border: 0;
    border-bottom: 1px solid #000 !important;
    background-color: transparent;
    height: 36px;
    font-weight: 500;
    font-size: 19px;
    line-height: 26px;
    padding: 4px 14px 6px 14px;
    transition: all 0.2s;
    touch-action: manipulation;
    margin: 0 0 .9rem;
    background-position: right 0.75rem; }
    .promotion-form .form-control + label {
      cursor: text;
      max-width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      font-weight: 500;
      font-size: 19px;
      line-height: 26px;
      color: rgba(0, 0, 0, 0.6);
      top: .3rem; }
    .promotion-form .form-control:not(:placeholder-shown) + label, .promotion-form .form-control:focus + label {
      top: -.9rem;
      font-weight: 300;
      font-size: 10px;
      line-height: 1;
      cursor: pointer; }
  .promotion-form .text-asterisk {
    color: rgba(0, 0, 0, 0.87);
    font-weight: 300;
    font-size: .9rem; }
  .promotion-form .btn {
    padding: 0.2rem 0.75rem 0.275rem 0.75rem;
    height: calc(1.5em + 1.4rem + 2px);
    font-size: 1.4em;
    font-weight: 700;
    border-width: 2px;
    background-clip: border-box;
    outline: 0 !important;
    box-shadow: none !important;
    width: 100%; }
    .promotion-form .btn.btn-sm {
      font-weight: 400;
      text-decoration: none !important;
      font-size: 1em !important;
      line-height: .8;
      padding: 0.15rem 0.5rem;
      height: calc(.8em + 0.45rem + 2px);
      font-size: 1em !important; }
    @media (min-width: 992px) {
      .promotion-form .btn {
        padding: 0.275rem 0.75rem 0.375rem 0.75rem;
        height: calc(1.5em + 1.4rem + 2px); }
        .promotion-form .btn.btn-sm {
          font-size: 1em !important;
          line-height: .8;
          padding: 0.15rem 0.5rem;
          height: calc(.8em + 0.45rem + 2px); } }
  .promotion-form .invalid-feedback {
    margin-top: 0;
    text-decoration: none;
    color: #ff0000;
    position: absolute; }
  .promotion-form .grplabel {
    display: block;
    font-size: 12px;
    line-height: 15px;
    font-weight: 700;
    margin-top: 6px; }
  .promotion-form .txtlabel {
    display: block;
    font-size: 12px;
    line-height: 15px;
    font-weight: 400; }
  .promotion-form .invalid-feedback.stat {
    padding-left: 0;
    position: relative;
    top: -8px; }
  .promotion-form .custom-control {
    min-height: 1rem;
    padding-left: 26px;
    margin-bottom: 6px;
    margin-top: 0; }
    @media (min-width: 992px) {
      .promotion-form .custom-control {
        margin-bottom: 12px;
        margin-top: 0; } }
    .promotion-form .custom-control.custom-control-inline {
      margin-top: 6px;
      margin-right: 10px; }
      @media (min-width: 992px) {
        .promotion-form .custom-control.custom-control-inline {
          margin-top: 8px;
          margin-right: 27px; } }
    .promotion-form .custom-control .custom-control-input {
      width: 16px;
      height: 16px; }
    .promotion-form .custom-control .invalid-feedback.stat {
      padding-left: 0;
      position: static;
      order: 4; }
    .promotion-form .custom-control .custom-control-input {
      width: 16px;
      height: 16px;
      top: .25rem;
      left: -10px; }
    .promotion-form .custom-control .custom-control-label {
      font-size: 12px;
      line-height: 22px;
      padding-left: 0;
      margin-left: 0;
      margin-right: 0; }
      @media (min-width: 992px) {
        .promotion-form .custom-control .custom-control-label {
          font-size: 13px; } }
      .promotion-form .custom-control .custom-control-label a {
        color: inherit;
        font-size: inherit;
        font-weight: 400;
        text-decoration: none; }
        .promotion-form .custom-control .custom-control-label a.ppp {
          color: #000;
          text-decoration: none; }
          .promotion-form .custom-control .custom-control-label a.ppp:hover {
            text-decoration: underline; }
      .promotion-form .custom-control .custom-control-label a.hidetoggler {
        color: #00b050;
        font-weight: 400;
        text-decoration: none; }
        .promotion-form .custom-control .custom-control-label a.hidetoggler:hover {
          text-decoration: underline; }
      .promotion-form .custom-control .custom-control-label::before {
        background-color: rgba(0, 0, 0, 0.2); }
      .promotion-form .custom-control .custom-control-label::before, .promotion-form .custom-control .custom-control-label::after {
        border: none;
        width: 16px;
        height: 16px;
        top: .25rem;
        left: -26px;
        border-radius: 4px;
        box-shadow: none !important; }
  .promotion-form .smol .custom-control {
    margin-bottom: 4px; }
    @media (min-width: 992px) {
      .promotion-form .smol .custom-control {
        margin-bottom: 4px; } }
  .promotion-form.was-validated .custom-control-input:valid ~ .custom-control-label, .promotion-form .custom-control-input.is-valid ~ .custom-control-label {
    color: #000; }
    @media (min-width: 992px) {
      .promotion-form.was-validated .custom-control-input:valid ~ .custom-control-label, .promotion-form .custom-control-input.is-valid ~ .custom-control-label {
        color: #000; } }
  .promotion-form.was-validated .custom-control-input:invalid ~ .custom-control-label, .promotion-form .custom-control-input.is-invalid ~ .custom-control-label {
    color: #000; }
    @media (min-width: 992px) {
      .promotion-form.was-validated .custom-control-input:invalid ~ .custom-control-label, .promotion-form .custom-control-input.is-invalid ~ .custom-control-label {
        color: #000; } }
  .promotion-form.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .promotion-form .custom-control-input.is-valid:checked ~ .custom-control-label::before {
    background-color: rgba(0, 0, 0, 0.2); }
  .promotion-form.was-validated :not(.custom-control-input):not(.btn):valid {
    border-color: #000; }
  .promotion-form.was-validated :not(.custom-control-input):not(.btn):invalid {
    border-color: #000; }
  .promotion-form.was-validated input[type=text]:not(.custom-control-input):valid, .promotion-form.was-validated input[type=tel]:not(.custom-control-input):valid, .promotion-form.was-validated select:not(.custom-control-input):valid {
    background: url("../../img/valid.png") no-repeat right 0.75rem center/12px 12px; }
  .promotion-form.was-validated input[type=text]:not(.custom-control-input):invalid, .promotion-form.was-validated input[type=tel]:not(.custom-control-input):invalid, .promotion-form.was-validated select:not(.custom-control-input):invalid {
    background: url("../../img/invalid.png") no-repeat right 0.75rem center/12px 12px; }
  .promotion-form.was-validated :invalid ~ .invalid-feedback, .promotion-form.was-validated :invalid ~ .invalid-tooltip, .promotion-form.was-validated .is-invalid ~ .invalid-feedback, .promotion-form.was-validated .is-invalid ~ .invalid-tooltip {
    display: block; }

.promotion-form-dark .overflow-bg {
  background: #202020;
  color: #fff; }

.promotion-form-dark .form-control {
  border-bottom: 1px solid #ffffff !important;
  color: #fff; }
  .promotion-form-dark .form-control + label {
    color: #fff;
    opacity: 0.6; }

.promotion-form-dark label, .promotion-form-dark label a {
  color: #fff; }

.promotion-form-dark .custom-control .custom-control-label a.ppp {
  color: #fff; }

.promotion-form-dark .custom-control .custom-control-label::before {
  background: #4d4d4d; }

.promotion-form-dark.was-validated .custom-control-input:valid ~ .custom-control-label, .promotion-form-dark .custom-control-input.is-valid ~ .custom-control-label,
.promotion-form-dark.was-validated .custom-control-input:invalid ~ .custom-control-label, .promotion-form-dark .custom-control-input.is-invalid ~ .custom-control-label {
  color: #fff; }
  @media (min-width: 992px) {
    .promotion-form-dark.was-validated .custom-control-input:valid ~ .custom-control-label, .promotion-form-dark .custom-control-input.is-valid ~ .custom-control-label,
    .promotion-form-dark.was-validated .custom-control-input:invalid ~ .custom-control-label, .promotion-form-dark .custom-control-input.is-invalid ~ .custom-control-label {
      color: #fff; } }

.promotion-form-dark.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .promotion-form-dark .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #4d4d4d; }

.promotion-form-dark .text-asterisk {
  color: rgba(255, 255, 255, 0.87); }

.promotion-form-wide {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto; }
  .promotion-form-wide .overflow-bg {
    margin-left: -9999px;
    margin-right: -9999px;
    padding-left: 9999px;
    padding-right: 9999px;
    padding-top: 24px;
    padding-bottom: 24px; }
  .promotion-form-wide .h2, .promotion-form-wide .h2 p {
    text-align: center; }
  .promotion-form-wide .btn {
    max-width: 360px; }

.invalid-feedback {
  padding: 6px 0 !important;
  font-size: 13px !important; }

.modal-backdrop {
  background-color: #000; }

.modal .modal-content {
  border: none;
  background-color: #fff;
  text-align: center; }
  .modal .modal-content .modal-body {
    color: #000000;
    padding: 2rem 1rem; }
    @media (min-width: 992px) {
      .modal .modal-content .modal-body {
        padding: 3rem 3rem; } }
    .modal .modal-content .modal-body h3 {
      margin: 0 0 1rem 0;
      padding: 0;
      font-weight: 700; }
      @media (min-width: 992px) {
        .modal .modal-content .modal-body h3 {
          margin: 0 0 1.5rem 0; } }
    .modal .modal-content .modal-body p {
      margin: 0;
      padding: 0;
      font-size: 20px; }
      .modal .modal-content .modal-body p strong {
        font-weight: bold;
        color: #0053ff; }
    .modal .modal-content .modal-body .btn-secondary {
      background-color: #0053ff;
      color: #fff;
      text-align: center;
      width: 160px;
      border: none;
      font-weight: bold;
      font-size: 1.2rem; }
      @media (min-width: 992px) {
        .modal .modal-content .modal-body .btn-secondary {
          width: 260px; } }
  .modal .modal-content .modal-body-lg-padding {
    padding: 3rem 1rem; }
    @media (min-width: 992px) {
      .modal .modal-content .modal-body-lg-padding {
        padding: 4rem 7rem; } }
  .modal .modal-content .close {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #000000;
    text-shadow: none;
    opacity: 1;
    cursor: pointer;
    z-index: 99999;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 23px; }

.iveco-cars-img {
  position: absolute;
  z-index: 2;
  margin-top: -175px;
  margin-left: -20px;
  pointer-events: none; }
  @media (max-width: 70em) {
    .iveco-cars-img {
      width: 540px;
      margin-top: -140px;
      margin-left: -16px; } }
  @media (max-width: 540px) {
    .iveco-cars-img {
      margin-top: -22%; } }

.section-gray {
  position: relative; }

.section-gray::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50vw;
  right: -50vw;
  background-color: #f4f4f4;
  z-index: -1; }

.section-white {
  position: relative; }

.static-page-wrapper > .row {
  margin-left: -50vw;
  padding-left: calc(50vw - 0.71429rem);
  margin-right: -50vw;
  padding-right: calc(50vw - 0.71429rem); }

.section-blue-with-bg-two-colors:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50vw;
  right: -50vw;
  background: linear-gradient(90deg, #002078 50%, #1554ff 50%);
  z-index: -1;
  height: 18px;
  margin: 0;
  padding: 0; }

.btn-outline-secondary {
  color: #fff !important;
  border-color: #0053ff !important;
  background-color: #0053ff !important; }

.promotion-form-anchor {
  background-color: #0053ff; }
  .promotion-form-anchor div {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
    color: #FFFFFF;
    font-size: 26px;
    text-align: center;
    margin: 10px 0; }
    .promotion-form-anchor div p {
      margin: 0; }
    .promotion-form-anchor div a {
      color: #FFFFFF !important; }
    @media (max-width: 767.98px) {
      .promotion-form-anchor div {
        font-size: 12px; } }

.snippet-slider-text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start; }

.snippet-slider-pages {
  display: flex;
  font-size: 12px;
  margin-bottom: 1rem;
  color: #000000; }
  .snippet-slider-pages-prev {
    color: #767676;
    margin-right: .5rem; }
  .snippet-slider-pages-next {
    color: #767676;
    margin-left: .5rem; }

.snippet-slider-version {
  color: #0053ff;
  font-size: 14px; }

.snippet-slider-title {
  color: #000000;
  font-size: 24px; }

.snippet-slider a {
  text-decoration: unset !important; }

.snippet-slider .slick-dots {
  bottom: -2rem; }
  .snippet-slider .slick-dots li button:focus {
    outline: unset !important; }
  @media print, screen and (min-width: 64em) {
    .snippet-slider .slick-dots {
      bottom: -.5rem; } }

.opinions-slider-top {
  margin-top: 1rem; }

.advantages-equipment-top,
.opinions-slider-top,
.faq-section-top {
  text-align: center;
  margin-inline: auto;
  max-width: 100%;
  padding-top: 3rem; }
  .advantages-equipment-top h2,
  .opinions-slider-top h2,
  .faq-section-top h2 {
    color: #000000;
    font-size: 60px;
    line-height: 74px;
    width: 1683px;
    max-width: 100%;
    margin-inline: auto; }
    @media screen and (max-width: 1599.99px) {
      .advantages-equipment-top h2,
      .opinions-slider-top h2,
      .faq-section-top h2 {
        font-size: 56px;
        line-height: 68px; } }
    @media screen and (max-width: 1399.99px) {
      .advantages-equipment-top h2,
      .opinions-slider-top h2,
      .faq-section-top h2 {
        font-size: 50px;
        line-height: 60px; } }
    @media screen and (max-width: 1199.99px) {
      .advantages-equipment-top h2,
      .opinions-slider-top h2,
      .faq-section-top h2 {
        font-size: 44px;
        line-height: 52px; } }
    @media screen and (max-width: 991.99px) {
      .advantages-equipment-top h2,
      .opinions-slider-top h2,
      .faq-section-top h2 {
        font-size: 38px;
        line-height: 46px; } }
    @media screen and (max-width: 767.99px) {
      .advantages-equipment-top h2,
      .opinions-slider-top h2,
      .faq-section-top h2 {
        font-size: 32px;
        line-height: 40px; } }
    @media screen and (max-width: 575.99px) {
      .advantages-equipment-top h2,
      .opinions-slider-top h2,
      .faq-section-top h2 {
        font-size: 20px;
        line-height: 24px; } }
  .advantages-equipment-top hr,
  .opinions-slider-top hr,
  .faq-section-top hr {
    width: 117px;
    border-top: 3px solid #0053ff;
    margin-inline: auto; }
  .advantages-equipment-top p,
  .opinions-slider-top p,
  .faq-section-top p {
    color: #000000;
    font-size: 26px;
    line-height: 31.2px;
    width: 1220px;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 2rem; }
    @media screen and (max-width: 1399.99px) {
      .advantages-equipment-top p,
      .opinions-slider-top p,
      .faq-section-top p {
        font-size: 24px;
        line-height: 30px; } }
    @media screen and (max-width: 1199.99px) {
      .advantages-equipment-top p,
      .opinions-slider-top p,
      .faq-section-top p {
        font-size: 22px;
        line-height: 27px; } }
    @media screen and (max-width: 991.99px) {
      .advantages-equipment-top p,
      .opinions-slider-top p,
      .faq-section-top p {
        font-size: 20px;
        line-height: 24px; } }
    @media screen and (max-width: 767.99px) {
      .advantages-equipment-top p,
      .opinions-slider-top p,
      .faq-section-top p {
        font-size: 18px;
        line-height: 21px; } }
    @media screen and (max-width: 575.99px) {
      .advantages-equipment-top p,
      .opinions-slider-top p,
      .faq-section-top p {
        font-size: 14px;
        line-height: 18px; } }
  @media screen and (max-width: 767.99px) {
    .advantages-equipment-top h2, .advantages-equipment-top p,
    .opinions-slider-top h2,
    .opinions-slider-top p,
    .faq-section-top h2,
    .faq-section-top p {
      max-width: 520px; } }
  @media screen and (max-width: 575.99px) {
    .advantages-equipment-top h2, .advantages-equipment-top p,
    .opinions-slider-top h2,
    .opinions-slider-top p,
    .faq-section-top h2,
    .faq-section-top p {
      max-width: 340px; } }

.advantages-equipment {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  font-family: 'Gill Sans', sans-serif;
  font-weight: 500; }
  @media print, screen and (min-width: 64em) {
    .advantages-equipment {
      flex-direction: row;
      gap: 4rem; } }
  .advantages-equipment .column, .advantages-equipment .columns {
    padding: 0; }
    @media screen and (max-width: 1023px) {
      .advantages-equipment .column.fixed-right, .advantages-equipment .fixed-right.columns {
        padding-inline: 8rem; }
      .advantages-equipment .column.fixed-left, .advantages-equipment .fixed-left.columns {
        padding-inline: 8rem; } }
    @media screen and (max-width: 768px) {
      .advantages-equipment .column.fixed-right, .advantages-equipment .fixed-right.columns {
        padding-inline: 4rem; }
      .advantages-equipment .column.fixed-left, .advantages-equipment .fixed-left.columns {
        padding-inline: 4rem; } }
    @media screen and (max-width: 576px) {
      .advantages-equipment .column.fixed-right, .advantages-equipment .fixed-right.columns {
        padding-inline: 2rem; }
      .advantages-equipment .column.fixed-left, .advantages-equipment .fixed-left.columns {
        padding-inline: 2rem; } }
    @media screen and (min-width: 1024px) {
      .advantages-equipment .column.fixed-right, .advantages-equipment .fixed-right.columns {
        padding-right: 4rem; }
      .advantages-equipment .column.fixed-left, .advantages-equipment .fixed-left.columns {
        padding-left: 4rem; } }
    @media screen and (min-width: 1400px) {
      .advantages-equipment .column.fixed-right, .advantages-equipment .fixed-right.columns {
        padding-right: 8rem; }
      .advantages-equipment .column.fixed-left, .advantages-equipment .fixed-left.columns {
        padding-left: 8rem; } }
  .advantages-equipment h4 {
    color: #0053ff;
    font-size: 24px;
    line-height: 40px; }
  .advantages-equipment h3 {
    color: #000000;
    font-size: 48px;
    line-height: 57.6px;
    font-weight: 300; }
  .advantages-equipment p {
    font-size: 24px;
    line-height: 28px;
    font-weight: 400; }
  @media screen and (max-width: 1600px) {
    .advantages-equipment h4 {
      color: #0053ff;
      font-size: 20px;
      line-height: 30px; }
    .advantages-equipment h3 {
      color: #000000;
      font-size: 32px;
      line-height: 43px;
      font-weight: 300; }
    .advantages-equipment p {
      font-size: 20px;
      line-height: 22px;
      font-weight: 400; } }
  @media screen and (max-width: 1200px) {
    .advantages-equipment h4 {
      color: #0053ff;
      font-size: 14px;
      line-height: 40px; }
    .advantages-equipment h3 {
      color: #000000;
      font-size: 24px;
      line-height: 35px;
      font-weight: 300; }
    .advantages-equipment p {
      font-size: 14px;
      line-height: 16px;
      font-weight: 400; } }

.opinions-slider {
  margin-left: 8rem;
  max-width: calc(100% - 8rem) !important; }
  @media screen and (max-width: 1399.99px) {
    .opinions-slider {
      margin-left: 6rem;
      max-width: calc(100% - 6rem) !important; } }
  @media screen and (max-width: 991.99px) {
    .opinions-slider {
      margin-left: 4rem;
      max-width: calc(100% - 4rem) !important; } }
  @media screen and (max-width: 767.99px) {
    .opinions-slider {
      margin-left: 2rem;
      max-width: calc(100% - 2rem) !important; } }
  .opinions-slider-slide {
    display: flex;
    flex-direction: column;
    padding-right: 1rem; }
    .opinions-slider-slide img {
      margin: 0;
      width: 100%; }
    .opinions-slider-slide-content {
      display: flex;
      flex-direction: column;
      text-align: left;
      gap: 1.5rem; }
      .opinions-slider-slide-content-title {
        margin-top: 1rem;
        font-family: 'Gill Sans', sans-serif;
        font-weight: 700;
        font-size: 30px;
        line-height: 40px;
        max-width: 81.5%; }
      .opinions-slider-slide-content-description {
        font-family: 'Gill Sans', sans-serif;
        font-weight: 300;
        font-size: 20px;
        line-height: 28px;
        max-width: 81.5%; }
      .opinions-slider-slide-content-signature {
        font-family: 'Gill Sans', sans-serif;
        font-weight: 500;
        font-size: 24px;
        line-height: 40px;
        max-width: 81.5%; }
      @media screen and (max-width: 1399.99px) {
        .opinions-slider-slide-content {
          gap: 1rem; }
          .opinions-slider-slide-content-title {
            font-size: 24px;
            line-height: 42px;
            max-width: 78%; }
          .opinions-slider-slide-content-description {
            font-size: 16px;
            line-height: 22px;
            max-width: 78%; }
          .opinions-slider-slide-content-signature {
            font-size: 20px;
            line-height: 34px;
            max-width: 78%; } }
      @media screen and (max-width: 575.99px) {
        .opinions-slider-slide-content {
          gap: 1rem; }
          .opinions-slider-slide-content-title {
            font-size: 22px;
            line-height: 38px;
            max-width: 86%; }
          .opinions-slider-slide-content-description {
            font-size: 14px;
            line-height: 18px;
            max-width: 86%; }
          .opinions-slider-slide-content-signature {
            font-size: 18px;
            line-height: 30px;
            max-width: 86%; } }
  .opinions-slider .slick-prev.slick-arrow {
    display: none !important;
    background: no-repeat center center;
    background-image: url("../../img/opinion-slider-prev.png");
    background-position: center;
    width: 86px;
    height: 86px; }
    @media screen and (max-width: 1200px) {
      .opinions-slider .slick-prev.slick-arrow {
        width: 64px;
        height: 64px;
        background-size: contain; } }
  .opinions-slider .slick-next.slick-arrow {
    top: 62%;
    left: calc(100% - (20px / 2) - 86px);
    background: no-repeat center center;
    background-image: url("../../img/opinion-slider-next.png");
    background-position: center;
    width: 86px;
    height: 86px; }
    @media screen and (max-width: 1199.99px) {
      .opinions-slider .slick-next.slick-arrow {
        width: 64px;
        height: 64px;
        background-size: contain;
        top: 42vw; } }
    @media screen and (max-width: 991.99px) {
      .opinions-slider .slick-next.slick-arrow {
        top: 50vw; } }
    @media screen and (max-width: 767.99px) {
      .opinions-slider .slick-next.slick-arrow {
        top: 82vw; } }
    @media screen and (max-width: 575.99px) {
      .opinions-slider .slick-next.slick-arrow {
        width: 48px;
        height: 48px;
        left: calc(100% - (20px / 2) - 42px); } }

.faq-container {
  background-color: #F2F2F2;
  margin-top: 4rem;
  padding-top: 4rem; }

.faq-section {
  position: relative;
  margin-bottom: 4rem;
  margin-top: 4rem;
  overflow: hidden;
  margin-inline: auto; }
  .faq-section__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 6rem; }
    @media screen and (max-width: 991.99px) {
      .faq-section__content {
        margin-top: 3rem; } }
    .faq-section__content-item {
      padding-block: .5rem;
      padding-inline: .5rem;
      position: relative;
      background-color: transparent;
      max-width: 100%;
      width: 1438px;
      height: auto;
      border-radius: unset;
      border-bottom: 2px solid #000000;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 1599.99px) {
        .faq-section__content-item {
          width: 1360px; } }
      @media screen and (max-width: 1399.99px) {
        .faq-section__content-item {
          width: 1140px; } }
      @media screen and (max-width: 1199.99px) {
        .faq-section__content-item {
          width: 836px; } }
      @media screen and (max-width: 991.99px) {
        .faq-section__content-item {
          width: 720px; } }
      @media screen and (max-width: 767.99px) {
        .faq-section__content-item {
          width: 480px; } }
      @media screen and (max-width: 575.99px) {
        .faq-section__content-item {
          width: 350px; } }
      .faq-section__content-item-question {
        display: flex;
        justify-content: start;
        align-items: center; }
        .faq-section__content-item-question a {
          font-size: 30px;
          line-height: 40px;
          font-weight: 600;
          color: #000000;
          width: 100%;
          position: relative;
          text-align: left;
          padding-right: 3rem;
          font-family: 'Gill Sans', sans-serif;
          text-transform: unset; }
          .faq-section__content-item-question a[aria-expanded='true'] {
            color: #000000; }
            .faq-section__content-item-question a[aria-expanded='true']:after {
              transform: translate(-25%, -50%) rotate(180deg); }
          .faq-section__content-item-question a:active, .faq-section__content-item-question a:focus {
            border: unset;
            color: #000000 !important; }
          .faq-section__content-item-question a:hover {
            color: #1a1a1a; }
          .faq-section__content-item-question a:after {
            background-color: transparent;
            background-image: url("../../img/arrow-down.svg");
            background-position: 100%;
            background-repeat: no-repeat;
            background-size: auto;
            content: "";
            display: block;
            height: 26px;
            position: absolute;
            right: -2rem;
            top: 50%;
            transform: translateY(-50%);
            transition: transform .3s ease;
            width: 92px; }
          @media screen and (max-width: 1599.99px) {
            .faq-section__content-item-question a {
              font-size: 28px;
              line-height: 36px; } }
          @media screen and (max-width: 1399.99px) {
            .faq-section__content-item-question a {
              font-size: 26px;
              line-height: 32px; } }
          @media screen and (max-width: 1199.99px) {
            .faq-section__content-item-question a {
              font-size: 22px;
              line-height: 26px; } }
          @media screen and (max-width: 575.99px) {
            .faq-section__content-item-question a {
              font-size: 16px;
              line-height: 20px; } }
      .faq-section__content-item-answer {
        display: flex;
        justify-content: start;
        align-items: center;
        font-size: 30px;
        line-height: 40px;
        font-weight: 300;
        font-style: italic;
        color: #000000;
        padding-inline: .75rem;
        padding-block: .75rem;
        font-family: 'Gill Sans', sans-serif; }
        @media screen and (max-width: 1599.99px) {
          .faq-section__content-item-answer {
            font-size: 28px;
            line-height: 36px; } }
        @media screen and (max-width: 1399.99px) {
          .faq-section__content-item-answer {
            font-size: 26px;
            line-height: 32px; } }
        @media screen and (max-width: 1199.99px) {
          .faq-section__content-item-answer {
            font-size: 22px;
            line-height: 26px; } }
        @media screen and (max-width: 575.99px) {
          .faq-section__content-item-answer {
            font-size: 16px;
            line-height: 20px; } }

.promotion-legal {
  padding-inline: 8rem;
  margin-top: 2rem; }
  .promotion-legal p {
    font-family: 'Gill Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 16.8px;
    text-align: left; }
  @media screen and (max-width: 1599.99px) {
    .promotion-legal {
      padding-inline: 6rem; } }
  @media screen and (max-width: 1399.99px) {
    .promotion-legal {
      padding-inline: 5rem; } }
  @media screen and (max-width: 1199.99px) {
    .promotion-legal {
      padding-inline: 4rem; } }
  @media screen and (max-width: 991.99px) {
    .promotion-legal {
      padding-inline: 3rem; }
      .promotion-legal p {
        font-size: 12px;
        line-height: 14px; } }
  @media screen and (max-width: 767.99px) {
    .promotion-legal {
      padding-inline: 2rem; } }
  @media screen and (max-width: 575.99px) {
    .promotion-legal {
      padding-inline: 1rem; }
      .promotion-legal p {
        font-size: 10px;
        line-height: 12px; } }

.page-promotion-promotions, .page-promotion {
  font-family: GillSans, sans-serif !important; }
  .page-promotion-promotions .max-width, .page-promotion .max-width {
    max-width: 100% !important; }
    @media screen and (min-width: 1920.1px) {
      .page-promotion-promotions .max-width, .page-promotion .max-width {
        max-width: 1920px !important; } }
    .page-promotion-promotions .max-width .row, .page-promotion .max-width .row {
      padding: 0;
      margin-right: auto !important;
      margin-left: auto !important; }
      @media screen and (max-width: 1200px) {
        .page-promotion-promotions .max-width .row, .page-promotion .max-width .row {
          padding-top: 10px; } }
  .page-promotion-promotions h1, .page-promotion-promotions h2, .page-promotion-promotions h3, .page-promotion-promotions h4, .page-promotion-promotions h5, .page-promotion-promotions h6, .page-promotion h1, .page-promotion h2, .page-promotion h3, .page-promotion h4, .page-promotion h5, .page-promotion h6 {
    font-family: GillSans, sans-serif !important; }

#go-to-top {
  opacity: 0;
  visibility: hidden;
  transition: all .5s ease-in-out;
  position: fixed;
  bottom: 10rem;
  right: 1rem;
  width: 84px;
  height: 84px;
  cursor: pointer; }
  #go-to-top.show {
    opacity: 1;
    visibility: visible; }
  #go-to-top:hover {
    transform: scale(1.1); }
  @media screen and (max-width: 1399.99px) {
    #go-to-top {
      width: 72px;
      height: 72px; } }
  @media screen and (max-width: 1199.99px) {
    #go-to-top {
      width: 64px;
      height: 64px;
      bottom: 8rem; } }
  @media screen and (max-width: 991.99px) {
    #go-to-top {
      width: 58px;
      height: 58px; } }
  @media screen and (max-width: 767.99px) {
    #go-to-top {
      width: 42px;
      height: 42px;
      bottom: 10rem; } }
  @media screen and (max-width: 575.99px) {
    #go-to-top {
      bottom: 11rem; } }

.static-page-wrapper > .row:not(.solo-row):has(.products-list) {
  margin-bottom: 5rem; }

@media (max-width: 1080px) {
  .static-page-wrapper > .row:not(.solo-row):has(.products-list) {
    margin-bottom: 1.42857rem; } }

.products-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0; }

.products-list * {
  font-family: GillSans, sans-serif; }

.product-tile__title {
  color: #fff;
  background-color: #001b78;
  padding: 10px 20px 22px;
  border-top-right-radius: 14px;
  border-top-left-radius: 14px;
  font-size: 29px;
  font-weight: 600;
  max-width: 90%;
  width: max-content;
  margin-bottom: -12px; }

.product-tile__content {
  border: 4px solid #001b78;
  border-radius: 14px;
  position: relative;
  z-index: 2;
  background: #fff;
  padding: 20px; }

.product-tile__media {
  margin-bottom: 20px; }

.product-tile__media img {
  display: block;
  max-width: 100%; }

.product-tile__details {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 1rem;
  align-items: center; }

.product-tile__info {
  text-transform: uppercase;
  font-size: 25px;
  font-weight: 600;
  align-items: center;
  margin-bottom: 0;
  flex: 1; }

.product-tile__promo {
  margin-right: -40px;
  position: relative;
  background: #1554ff;
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
  padding: 10px 20px 10px 10px;
  color: #fff;
  font-size: 70px;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0;
  line-height: 1; }

.product-tile__promo small {
  font-size: 30px; }

.product-tile__promo::before {
  content: '';
  top: -20px;
  position: absolute;
  right: 0;
  width: 0;
  height: 0;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #001b78; }

.product-tile__price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px 20px;
  flex-wrap: wrap; }

.product-tile__price-label {
  font-size: 16.6px;
  font-weight: 600;
  text-transform: uppercase;
  flex: 1;
  line-height: 1; }

.product-tile__price-value {
  font-size: 35px;
  font-weight: 600;
  text-transform: uppercase; }

.product-tile__description {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 3px solid #001b78;
  font-size: 18px;
  font-weight: 300; }

.product-tile__description b,
.product-tile__description strong {
  font-weight: 600; }

.product-tile__description + .product-tile__description {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 0; }

.product-tile__title span {
  display: block; }

@media (max-width: 580px) {
  .product-tile__promo {
    font-size: 45px; }
  .product-tile__promo small {
    font-size: 24px; } }

@media (max-width: 1100px) {
  .product-tile__title {
    padding: 5px 10px 15px;
    margin-bottom: -10px; }
  .product-tile__content {
    padding: 10px; }
  .product-tile__details {
    gap: 10px; }
  .product-tile__price {
    gap: 5px 10px; }
  .product-tile__promo {
    padding: 5px 10px;
    font-size: 60px;
    margin-right: -20px; }
  .product-tile__promo::before {
    top: -10px;
    border-right-width: 10px;
    border-bottom-width: 10px; }
  .product-tile__description {
    margin-top: 14px;
    padding-top: 10px;
    font-size: 16px; } }

.products-list--triple {
  gap: 70px; }

.products-list--triple .products-list__item {
  width: calc(33.333% - (140px / 3)); }

.products-list--triple .product-tile__media img {
  margin-inline: auto; }

@media (max-width: 1179px) {
  .products-list--triple {
    gap: 40px; }
  .products-list--triple .products-list__item {
    width: calc(33.333% - (80px / 3)); } }

@media (max-width: 1100px) {
  .products-list--triple {
    gap: 30px; }
  .products-list--triple .products-list__item {
    width: calc(33.333% - (60px / 3)); } }

@media (max-width: 1080px) {
  .products-list--triple .products-list__item {
    width: calc(50% - (60px / 2)); } }

@media (max-width: 900px) {
  .products-list--triple {
    flex-direction: column;
    align-items: center;
    row-gap: 1.42857rem; }
  .products-list--triple .products-list__item {
    width: 100%;
    max-width: 100%; } }

@media (max-width: 500px) {
  .products-list--triple .products-list__item {
    max-width: 100%; } }

.products-list--double-half {
  gap: 60px; }

.products-list--double-half .products-list__item {
  width: calc(50% - (60px / 2)); }

.products-list--double-half .product-tile__details {
  align-items: baseline; }

.products-list--double-half .product-tile__promo {
  min-width: 284px;
  text-align: right;
  padding-right: 36px; }

.products-list--double-half .products-list__item .product-tile__price {
  align-items: baseline; }

@media (max-width: 1179px) {
  .products-list--double-half {
    gap: 40px; }
  .products-list--double-half .products-list__item {
    width: calc(50% - (40px / 2)); } }

@media (max-width: 1100px) {
  .products-list--double-half {
    gap: 30px; }
  .products-list--double-half .products-list__item {
    width: calc(50% - (30px / 2)); }
  .products-list--double-half .product-tile__promo {
    padding-right: 10px;
    min-width: unset; } }

@media (max-width: 1080px) {
  .products-list--double-half .product-tile__details {
    align-items: center; }
  .products-list--double-half .product-tile__price {
    align-items: center; }
  .products-list--double-half .product-tile__promo {
    text-align: initial; } }

@media (max-width: 900px) {
  .products-list--double-half {
    flex-direction: column;
    align-items: center;
    row-gap: 1.42857rem; }
  .products-list--double-half .products-list__item {
    width: 100%;
    max-width: 100%; } }

@media (max-width: 500px) {
  .products-list--double-half .products-list__item {
    max-width: 100%; } }

.products-list--double {
  gap: 90px; }

.products-list--double .products-list__item:nth-child(1) {
  width: calc(66.666% - (90px / 2)); }

.products-list--double .products-list__item:nth-child(2) {
  width: calc(33.333% - (90px / 2)); }

.products-list--double .products-list__item:nth-child(1) .product-tile__price {
  justify-content: flex-end;
  align-items: baseline; }

.products-list--double .products-list__item:nth-child(1) .product-tile__price-label {
  text-align: right; }

@media (max-width: 1179px) {
  .products-list--double {
    gap: 40px; }
  .products-list--double .products-list__item:nth-child(1) {
    width: calc(66.666% - (40px / 2)); }
  .products-list--double .products-list__item:nth-child(2) {
    width: calc(33.333% - (40px / 2)); } }

@media (max-width: 1100px) {
  .products-list--double {
    gap: 30px; }
  .products-list--double .products-list__item:nth-child(1) {
    width: calc(66.666% - (30px / 2)); }
  .products-list--double .products-list__item:nth-child(2) {
    width: calc(33.333% - (30px / 2)); } }

@media (max-width: 1080px) {
  .products-list--double .products-list__item:nth-child(1) {
    width: calc(50% - (30px / 2)); }
  .products-list--double .products-list__item:nth-child(2) {
    width: calc(50% - (30px / 2)); }
  .products-list--double .products-list__item:nth-child(1) .product-tile__price {
    align-items: center;
    justify-content: space-between; }
  .products-list--double .products-list__item:nth-child(1) .product-tile__price-label {
    text-align: left; } }

@media (max-width: 900px) {
  .products-list--double {
    flex-direction: column;
    align-items: center;
    row-gap: 1.42857rem; }
  .products-list--double .products-list__item {
    max-width: 100%; }
  .products-list--double .products-list__item:nth-child(1) {
    width: 100%; }
  .products-list--double .products-list__item:nth-child(2) {
    width: 100%; } }

@media (max-width: 500px) {
  .products-list--double .products-list__item {
    max-width: 100%; } }

.products-list--full .products-list__item {
  width: 100%; }

.products-list--full .product-tile__promo {
  min-width: 540px;
  text-align: right; }

.products-list--full .product-tile__price {
  justify-content: flex-end;
  align-items: baseline; }

.products-list--full .product-tile__info {
  font-size: 70px; }

.products-list--full .product-tile__price-label {
  text-align: right; }

@media (max-width: 1100px) {
  .products-list--full .product-tile__promo {
    padding-right: 10px;
    min-width: unset; } }

@media (max-width: 1080px) {
  .products-list--full .product-tile__promo {
    text-align: initial; }
  .products-list--full .product-tile__info {
    font-size: 25px; }
  .products-list--full .product-tile__price {
    align-items: center;
    justify-content: space-between; }
  .products-list--full .product-tile__price-label {
    text-align: left; } }

@media (max-width: 900px) {
  .products-list--full .products-list__item {
    width: 100%;
    max-width: 100%;
    margin-inline: auto; } }

.products-list--double-no-description {
  gap: 80px; }

.products-list--double-no-description .products-list__item {
  width: calc(50% - (80px / 2)); }

.products-list--double-no-description .product-tile__details {
  align-items: baseline; }

.products-list--double-no-description .product-tile__info {
  font-size: 36px; }

.products-list--double-no-description .product-tile__price {
  justify-content: flex-end;
  align-items: baseline; }

.products-list--double-no-description .product-tile__price-label {
  text-align: right; }

@media (max-width: 1179px) {
  .products-list--double-no-description {
    gap: 40px; }
  .products-list--double-no-description .products-list__item {
    width: calc(50% - (40px / 2)); } }

@media (max-width: 1100px) {
  .products-list--double-no-description {
    gap: 30px; }
  .products-list--double-no-description .products-list__item {
    width: calc(50% - (30px / 2)); } }

@media (max-width: 1080px) {
  .products-list--double-no-description .product-tile__details {
    align-items: center; }
  .products-list--double-no-description .product-tile__info {
    font-size: 25px; }
  .products-list--double-no-description .product-tile__price {
    align-items: center;
    justify-content: space-between; }
  .products-list--double-no-description .product-tile__price-label {
    text-align: left; } }

@media (max-width: 900px) {
  .products-list--double-no-description {
    flex-direction: column;
    align-items: center;
    row-gap: 1.42857rem; }
  .products-list--double-no-description .products-list__item {
    width: 100%;
    max-width: 100%; } }

@media (max-width: 500px) {
  .products-list--double-no-description .products-list__item {
    max-width: 100%; } }

/**
Styles used for ContentBuilder
 */
.static-page-wrapper > .row:not(.solo-row), .static-page-wrapper > .ui-draggable {
  margin-bottom: 1.42857rem; }

.static-page-wrapper .is-card > img + .is-card-content {
  padding-top: 1.42857rem; }

.static-page-wrapper .is-card .button {
  margin-top: 0.71429rem; }

.static-page-wrapper figure figcaption {
  padding-top: 0.71429rem; }

.static-page-wrapper .size-12 {
  font-size: 12px; }

.static-page-wrapper .size-14 {
  font-size: 14px; }

.static-page-wrapper .size-16 {
  font-size: 16px; }

.static-page-wrapper .size-18 {
  font-size: 18px; }

.static-page-wrapper .size-21 {
  font-size: 21px; }

.static-page-wrapper .size-24 {
  font-size: 24px; }

.static-page-wrapper .size-32 {
  font-size: 32px; }

.static-page-wrapper .size-48 {
  font-size: 48px; }

.static-page-wrapper .size-64 {
  font-size: 64px; }

.static-page-wrapper .size-80 {
  font-size: 80px; }

.static-page-wrapper .size-96 {
  font-size: 96px; }

.static-page-wrapper a:not(.button) {
  text-decoration: underline;
  color: #00529c; }

.static-page-wrapper .is-rounded-button-big {
  display: inline-block; }
  .static-page-wrapper .is-rounded-button-big a {
    display: table;
    float: left;
    text-align: center;
    margin: 0 1.28571rem;
    border-radius: 500px;
    width: 110px;
    height: 110px;
    background-color: #aaa; }
    .static-page-wrapper .is-rounded-button-big a i {
      display: table-cell;
      width: 100%;
      height: 100%;
      vertical-align: middle;
      color: #ffffff;
      font-size: 40px; }
    .static-page-wrapper .is-rounded-button-big a:first-child {
      margin: 0 20px 0 0; }
    .static-page-wrapper .is-rounded-button-big a:last-child {
      margin: 0 0 0 20px; }

.static-page-wrapper .is-rounded-button-medium {
  display: inline-block; }
  .static-page-wrapper .is-rounded-button-medium a {
    display: table;
    float: left;
    text-align: center;
    margin: 0 1.28571rem;
    border-radius: 500px;
    width: 70px;
    height: 70px;
    background-color: #aaa; }
    .static-page-wrapper .is-rounded-button-medium a i {
      display: table-cell;
      width: 100%;
      height: 100%;
      vertical-align: middle;
      color: #ffffff;
      font-size: 30px; }

.static-page-wrapper .is-light-text * {
  color: #fff; }

.static-page-wrapper .is-dark-text * {
  color: #000; }

.static-page-wrapper .list {
  position: relative; }
  .static-page-wrapper .list > i {
    position: absolute;
    left: 0;
    top: 7px;
    font-size: 1.7em;
    line-height: 1; }
  .static-page-wrapper .list > h2, .static-page-wrapper .list > h3 {
    margin: 0 0 0 2.85714rem; }
  .static-page-wrapper .list > p {
    margin: 0 0 0 2.85714rem; }
  .static-page-wrapper .list + .list {
    margin-top: 0.71429rem; }

.static-page-wrapper .accordion .accordion-item .accordion-title {
  font-size: 1.42857rem;
  background-color: #222222;
  color: white; }

.static-page-wrapper .quote {
  position: relative; }
  .static-page-wrapper .quote > i {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.14286rem; }
  .static-page-wrapper .quote > p {
    margin-bottom: 0; }
  .static-page-wrapper .quote > p, .static-page-wrapper .quote > small {
    margin-left: 2.14286rem; }

.static-page-wrapper .testimonial > i {
  font-size: 2.14286rem; }

.static-page-wrapper .testimonial > img {
  margin-bottom: 1.42857rem; }

.static-page-wrapper .is-social {
  line-height: 1; }
  .static-page-wrapper .is-social a > i {
    text-decoration: none;
    color: #222222;
    font-size: 1.42857rem;
    margin: 0 1.42857rem 0 0;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out; }
  .static-page-wrapper .is-social a:hover > i {
    color: #0053ff; }

.static-page-wrapper .is-boxed-button-big {
  display: inline-block; }
  .static-page-wrapper .is-boxed-button-big a {
    display: table;
    float: left;
    text-align: center;
    margin: 0 20px 0 0;
    width: 60px;
    height: 60px;
    background-color: #aaa; }
    .static-page-wrapper .is-boxed-button-big a i {
      display: table-cell;
      width: 100%;
      height: 100%;
      vertical-align: middle;
      color: #ffffff;
      font-size: 2.85714rem; }

.static-page-wrapper .column-margin-bottom {
  margin-bottom: 20px; }

.static-page-wrapper .background-grey-content {
  background-color: #f5f6f8;
  padding: 1.42857rem; }

.rounded-picture {
  border-radius: 50%; }

@media print, screen and (min-width: 40em) {
  .static-page-wrapper .quote-image-description .table-center-wrap {
    min-height: 250px; }
  .static-page-wrapper .column-margin-bottom {
    margin-bottom: 0; } }

@media print, screen and (min-width: 64em) {
  .static-page-wrapper .size-12 {
    font-size: 12px; }
  .static-page-wrapper .size-14 {
    font-size: 14px; }
  .static-page-wrapper .size-16 {
    font-size: 16px; }
  .static-page-wrapper .size-18 {
    font-size: 18px; }
  .static-page-wrapper .size-21 {
    font-size: 21px; }
  .static-page-wrapper .size-24 {
    font-size: 24px; }
  .static-page-wrapper .size-32 {
    font-size: 28px; }
  .static-page-wrapper .size-48 {
    font-size: 32px; }
  .static-page-wrapper .size-64 {
    font-size: 36px; }
  .static-page-wrapper .size-80 {
    font-size: 40px; }
  .static-page-wrapper .size-96 {
    font-size: 44px; } }

.body-error-page .page-wrapper .error-code {
  font-weight: bold;
  font-size: 12.28571rem;
  line-height: 1; }

.body-error-page .page-wrapper .table .table-cell {
  vertical-align: bottom; }
  .body-error-page .page-wrapper .table .table-cell p {
    padding-bottom: 3.57143rem; }

.body-error-page .page-wrapper p {
  line-height: 1.2;
  font-weight: bold;
  font-size: 1.85714rem;
  text-transform: uppercase; }

@media print, screen and (min-width: 40em) {
  .body-error-page .page-wrapper .error-code {
    font-size: 18vw; }
  .body-error-page .page-wrapper p {
    font-size: 5vh; } }

.formsnippet__demo .large-8 > img {
  width: 100%; }

.formsnippet__demo__container {
  position: relative; }

.formsnippet__demo .formsnippet__form {
  width: 100%;
  height: 180vw;
  background: url("/assets/img/sample/form1.jpg") center center no-repeat transparent;
  background-size: contain;
  background-color: #eff1f4; }
  @media only screen and (min-width: 39.28571rem) {
    .formsnippet__demo .formsnippet__form {
      width: 100%;
      height: 80vw;
      background-image: url("/assets/img/sample/form2.jpg"); } }
  @media only screen and (min-width: 57.14286rem) {
    .formsnippet__demo .formsnippet__form {
      width: 100%;
      height: 47vw;
      background-image: url("/assets/img/sample/form3.jpg"); } }
  @media print, screen and (min-width: 64em) {
    .formsnippet__demo .formsnippet__form {
      background-image: url("/assets/img/sample/form4.jpg");
      height: 555px;
      width: 500px; } }

@media print, screen and (min-width: 64em) {
  .formsnippet__demo .column, .formsnippet__demo .columns {
    height: 555px; } }

.formsnippet .contact-form-wrapper {
  min-height: 0 !important;
  width: 100%;
  max-width: 100%;
  padding: 0 0.71429rem; }

@media print, screen and (min-width: 64em) {
  .formsnippet .column.large-4, .formsnippet .large-4.columns {
    padding-left: 0;
    padding-right: 0.71429rem;
    position: relative; }
    .formsnippet .column.large-4 .formsnippet__form, .formsnippet .large-4.columns .formsnippet__form {
      right: 0.71429rem;
      left: auto; }
    .formsnippet .column.large-4.large-pull-8, .formsnippet .large-4.large-pull-8.columns {
      padding-left: 0.71429rem;
      padding-right: 0; }
      .formsnippet .column.large-4.large-pull-8 .formsnippet__form, .formsnippet .large-4.large-pull-8.columns .formsnippet__form {
        right: auto;
        left: 0.71429rem; }
  .formsnippet .column.large-8, .formsnippet .large-8.columns {
    padding-left: 0.71429rem;
    padding-right: 0; }
    .formsnippet .column.large-8.large-push-4, .formsnippet .large-8.large-push-4.columns {
      padding-left: 0;
      padding-right: 0.71429rem; }
    .formsnippet .column.large-8 img, .formsnippet .large-8.columns img {
      object-fit: cover;
      width: 100% !important;
      height: 100% !important; }
  .formsnippet__form {
    position: absolute;
    top: 0;
    width: 35.71429rem;
    background: #eff1f4; }
    .formsnippet__form .contact-form-fields, .formsnippet__form .contact-form-legals {
      padding-left: 0;
      padding-right: 0; }
    .formsnippet__form .contact-form-wrapper {
      position: static;
      /*            padding: 0 rem-calc($gutter-width/2);*/ } }

.card1 {
  color: #fff;
  background-color: #002f87;
  margin: 2.14286rem 0 0; }
  @media print, screen and (min-width: 40em) {
    .card1 {
      margin: 2.14286rem 3% 0; } }
  .card1__image {
    padding: 0.71429rem; }
  .card1__content {
    padding: 0.71429rem; }
    .card1__content h3 {
      color: #fff;
      text-transform: uppercase;
      margin-bottom: 1rem; }

#stralispromotion {
  margin: 0 -15px; }
  #stralispromotion .stralis__bg {
    padding: 2rem 1.5rem 4rem;
    background: url(../../img/snippets/stralispromotion/bg.jpg) top center no-repeat #0d3553;
    background-size: 100% auto; }
    @media print, screen and (min-width: 64em) {
      #stralispromotion .stralis__bg {
        padding: 30px; } }
  #stralispromotion .stralis__header {
    color: white; }
    #stralispromotion .stralis__header h2 {
      font-size: 27px;
      font-weight: 700;
      margin-bottom: 0;
      line-height: 1; }
      #stralispromotion .stralis__header h2:last-child {
        margin-bottom: 30px; }
    #stralispromotion .stralis__header p {
      font-size: 19px;
      margin-bottom: 0; }
    #stralispromotion .stralis__header__logo {
      background: url(../../img/snippets/stralispromotion/logo.png) center left no-repeat transparent;
      background-size: contain;
      height: 52px;
      width: auto;
      margin-bottom: 30px; }
      @media print, screen and (min-width: 64em) {
        #stralispromotion .stralis__header__logo {
          background-position: center right; } }
  #stralispromotion .stralis__item {
    padding-top: 260px;
    text-align: center;
    color: white;
    background-position: top center;
    background-color: transparent;
    background-repeat: no-repeat;
    position: relative;
    /*            @include breakpoint(medium) {
                padding-top: 25vw;
                background-size: 90% auto;
            }*/
    margin-top: 6rem; }
    @media print, screen and (min-width: 64em) {
      #stralispromotion .stralis__item {
        margin-top: 0;
        padding-top: 260px;
        background-size: auto; } }
    #stralispromotion .stralis__item:before {
      content: "";
      position: absolute;
      width: 4px;
      height: 52px;
      left: 50%;
      margin-left: -2px;
      top: -70px;
      background: url(../../img/snippets/stralispromotion/dots.png) center center repeat transparent; }
    #stralispromotion .stralis__item h4 {
      font-size: 22px;
      margin-bottom: 5px;
      text-transform: uppercase;
      padding: 0 1rem; }
    #stralispromotion .stralis__item p {
      font-size: 16px;
      margin-bottom: 0;
      padding: 0 1rem; }
    #stralispromotion .stralis__item__header {
      color: #ffffff;
      font-size: 27px;
      font-weight: 700;
      /*                text-transform: uppercase;*/
      text-align: center;
      margin: 8rem auto 0;
      position: relative; }
      @media print, screen and (min-width: 64em) {
        #stralispromotion .stralis__item__header {
          margin: 105px auto 147px; } }
      @media print, screen and (min-width: 64em) {
        #stralispromotion .stralis__item__header:before {
          content: "";
          position: absolute;
          width: 4px;
          height: 60px;
          left: 50%;
          margin-left: -2px;
          bottom: -72px;
          background: url(../../img/snippets/stralispromotion/dots.png) center center repeat transparent; } }
      @media print, screen and (min-width: 64em) {
        #stralispromotion .stralis__item__header:after {
          content: "";
          position: absolute;
          right: 12.5%;
          height: 4px;
          left: 12.5%;
          bottom: -76px;
          background: url(../../img/snippets/stralispromotion/dots.png) center center repeat transparent; } }
      #stralispromotion .stralis__item__header--3:after {
        right: 25%; }
    #stralispromotion .stralis__item--01--01 {
      background-image: url(../../img/snippets/stralispromotion/01-01.png); }
    #stralispromotion .stralis__item--01--02 {
      background-image: url(../../img/snippets/stralispromotion/01-02.png); }
    #stralispromotion .stralis__item--01--03 {
      background-image: url(../../img/snippets/stralispromotion/01-03.png); }
    #stralispromotion .stralis__item--01--04 {
      background-image: url(../../img/snippets/stralispromotion/01-04.png); }
    #stralispromotion .stralis__item--02--01 {
      background-image: url(../../img/snippets/stralispromotion/02-01.png); }
    #stralispromotion .stralis__item--02--02 {
      background-image: url(../../img/snippets/stralispromotion/02-02.png); }
    #stralispromotion .stralis__item--02--03 {
      background-image: url(../../img/snippets/stralispromotion/02-03.png); }
    #stralispromotion .stralis__item--02--04 {
      background-image: url(../../img/snippets/stralispromotion/02-04.png); }
    #stralispromotion .stralis__item--03--01 {
      background-image: url(../../img/snippets/stralispromotion/03-01.png); }
    #stralispromotion .stralis__item--03--02 {
      background-image: url(../../img/snippets/stralispromotion/03-02.png); }
    #stralispromotion .stralis__item--03--03 {
      padding-top: 315px;
      /*                    @include breakpoint(medium) {
                        padding-top: 33vw;
                        background-size: 70% auto;
                    }*/
      background-image: url(../../img/snippets/stralispromotion/03-03-01.png);
      animation: changeImage 5s infinite; }
      @media print, screen and (min-width: 64em) {
        #stralispromotion .stralis__item--03--03 {
          padding-top: 315px;
          background-size: auto; } }
      @media print, screen and (min-width: 64em) {
        #stralispromotion .stralis__item--03--03 p, #stralispromotion .stralis__item--03--03 h4 {
          max-width: 50%;
          margin-left: auto;
          margin-right: auto; } }

@keyframes changeImage {
  0% {
    background-image: url(../../img/snippets/stralispromotion/03-03-01.png); }
  40% {
    background-image: url(../../img/snippets/stralispromotion/03-03-01.png); }
  50% {
    background-image: url(../../img/snippets/stralispromotion/03-03-02.png); }
  90% {
    background-image: url(../../img/snippets/stralispromotion/03-03-02.png); }
  100% {
    background-image: url(../../img/snippets/stralispromotion/03-03-01.png); } }
  #stralispromotion .stralis__footer {
    background-color: white;
    position: relative;
    padding: 33px; }
    #stralispromotion .stralis__footer p {
      margin-bottom: 0;
      margin-top: 33px; }
    #stralispromotion .stralis__footer form p {
      margin-top: 0;
      margin-bottom: 10px; }
  #stralispromotion .stralis__subbanner {
    background: url(../../img/snippets/stralispromotion/HiWay_Performer.png) top center no-repeat transparent;
    background-size: cover;
    min-height: 400px;
    position: relative; }
    #stralispromotion .stralis__subbanner div {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      padding: 20px 20px 10px;
      background-color: rgba(0, 0, 0, 0.8);
      color: white;
      font-size: 2rem;
      line-height: 3rem; }
    #stralispromotion .stralis__subbanner strong {
      font-size: 3rem; }
  #stralispromotion .formsnippet__form {
    position: relative;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      #stralispromotion .formsnippet__form .agreement-container {
        max-height: 330px;
        overflow-y: auto; } }

render-form-light {
  display: block; }

render-form-dark {
  display: block; }

.banner-editor-preview-body {
  overflow-x: auto;
  height: 100%; }

.banner-editor-preview-center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100%;
  min-height: 100%; }

.banner-editor-preview-inner {
  margin-left: auto;
  margin-right: auto;
  flex-shrink: 0;
  overflow: hidden; }

.banner-desktop,
.banner-mobile {
  background: no-repeat left / cover;
  position: relative; }
  .banner-editor-preview-body .banner-desktop, .banner-editor-preview-body
  .banner-mobile {
    display: block !important; }

.banner-desktop {
  height: calc(100vh - 74px); }
  @media (max-width: 991.98px) {
    .banner-desktop {
      display: none; } }

@media (min-width: 992px) {
  .banner-mobile {
    display: none; } }

.banner-mobile::before {
  content: '';
  display: block;
  padding-bottom: 80.83333%; }

.banner-layer {
  position: absolute !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: left;
  font-family: GillSans;
  line-height: 1.2; }

.banner-layer.active {
  outline: solid 2px #0000ff; }

.banner-layer-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.banner-layer-inner {
  position: relative;
  z-index: 1; }

.banner-layer .ui-resizable-se {
  bottom: -5px;
  right: -5px; }

.banner-editor-preview-body .banner-layer-inner {
  cursor: default; }

.banner-layer-ckeditor-body {
  padding: 6px 10px;
  min-width: 0 !important;
  font-family: GillSans;
  line-height: 1.2;
  text-align: left; }

.old-browser {
  margin-bottom: 0;
  height: 100%;
  position: absolute;
  border-spacing: 0px;
  font-family: GillSans; }

.old-browser tr {
  background: #fff !important; }

.old-browser-body {
  padding: 0;
  height: 100%; }

.old-browser-content {
  height: 100%;
  width: 50%;
  padding: 30px 60px;
  text-align: center; }
  @media (max-width: 859.98px) {
    .old-browser-content {
      width: 100%; } }
  @media (max-width: 539.98px) {
    .old-browser-content {
      padding: 15px 30px; } }

.old-browser-logo {
  margin: 0;
  margin-left: -7px;
  position: absolute;
  top: 30px; }

.old-browser-header {
  font-size: 43px;
  text-transform: uppercase;
  color: #f1553c;
  font-weight: 700;
  margin-top: 50px;
  margin-bottom: 30px;
  width: 368px;
  line-height: 1; }
  @media (max-width: 859.98px) {
    .old-browser-header {
      width: auto; } }

.old-browser-text {
  font-size: 22px;
  width: 368px;
  letter-spacing: -0.8px;
  line-height: 1.2; }
  @media (max-width: 859.98px) {
    .old-browser-text {
      width: auto; } }

.old-browser-bg {
  background: url(/images/old-browser-bg.png) no-repeat center/contain; }
  @media (max-width: 859.98px) {
    .old-browser-bg {
      display: none; } }

.old-browser-footer {
  padding: 0 !important; }

.arrow_grey_left {
  background-image: url(../../img/sprites.png);
  background-position: -114px -235px;
  width: 23px;
  height: 35px; }

.arrow_grey_right {
  background-image: url(../../img/sprites.png);
  background-position: -157px -235px;
  width: 23px;
  height: 35px; }

.icon-car-furgon {
  background-image: url(../../img/sprites.png);
  background-position: -156px -50px;
  width: 68px;
  height: 34px; }

.icon-car-pack {
  background-image: url(../../img/sprites.png);
  background-position: 0px -124px;
  width: 68px;
  height: 34px; }

.icon-is-checked {
  background-image: url(../../img/sprites.png);
  background-position: -88px -124px;
  width: 16px;
  height: 17px; }

.icon-loc {
  background-image: url(../../img/sprites.png);
  background-position: -124px -124px;
  width: 9px;
  height: 13px; }

.icon-share {
  background-image: url(../../img/sprites.png);
  background-position: -244px -50px;
  width: 30px;
  height: 30px; }

.icon-social-f {
  background-image: url(../../img/sprites.png);
  background-position: 0px -178px;
  width: 37px;
  height: 37px; }

.icon-social-fb {
  background-image: url(../../img/sprites.png);
  background-position: -57px -178px;
  width: 37px;
  height: 37px; }

.icon-social-g {
  background-image: url(../../img/sprites.png);
  background-position: -114px -178px;
  width: 37px;
  height: 37px; }

.icon-social-i {
  background-image: url(../../img/sprites.png);
  background-position: -171px -178px;
  width: 37px;
  height: 37px; }

.icon-social-in {
  background-image: url(../../img/sprites.png);
  background-position: -228px -178px;
  width: 37px;
  height: 37px; }

.icon-social-t {
  background-image: url(../../img/sprites.png);
  background-position: 0px -235px;
  width: 37px;
  height: 37px; }

.icon-social-yt {
  background-image: url(../../img/sprites.png);
  background-position: -57px -235px;
  width: 37px;
  height: 37px; }

.logo-od {
  background-image: url(../../img/sprites.png);
  background-position: 0px 0px;
  width: 136px;
  height: 104px; }

.logo_white {
  background-image: url(../../img/sprites.png);
  background-position: -156px 0px;
  width: 145px;
  height: 30px; }

main {
  overflow-x: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfZGVmaW5pdGlvbnMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3R5cG9ncmFwaHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3MvX25vcm1hbGl6ZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fbWlzc2luZy1kZXBlbmRlbmNpZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3RydWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHVyZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVtb3ZlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlcGxhY2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdG8tbGlzdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3R5cG9ncmFwaHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2dyaWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Zvcm1zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19wcm9ncmVzcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX21ldGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9tb3Rpb24tdWkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hcmdzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3Nlcmllcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL191bml0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fZmFkZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fc3Bpbi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3pvb20uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19zaGFrZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX3NsaWRlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9fd2lnZ2xlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsInN0eWxlcy5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19mdW5jdGlvbnMuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNpemUuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fdXRpbGl0aWVzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYmFja2dyb3VuZC5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2VtYmVkLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaGFkb3dzLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2Zvcm1zLnNjc3MiLCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2N1c3RvbS1mb3Jtcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9mb250LWF3ZXNvbWUuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb250LWF3ZXNvbWUvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19wYXRoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19jb3JlLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19sYXJnZXIuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2ZpeGVkLXdpZHRoLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19saXN0LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19ib3JkZXJlZC1wdWxsZWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2FuaW1hdGVkLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19yb3RhdGVkLWZsaXBwZWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX3N0YWNrZWQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm9udC1hd2Vzb21lL3Njc3MvX2ljb25zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9zY3NzL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJfZm9udHMuc2NzcyIsIl90eXBvLnNjc3MiLCJfc3ByaXRlcy5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9qcXVlcnkuc2Nyb2xsYmFyL3Nhc3MvanF1ZXJ5LnNjcm9sbGJhci5zY3NzIiwiY29tcG9uZW50cy9faGFtYnVyZ2VyLnNjc3MiLCJjb21wb25lbnRzL19iYXNpYy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0cy5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdHNfYXZhaWxhYmxlLnNjc3MiLCJjb21wb25lbnRzL19wcm9tb3Rpb24uc2NzcyIsIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fc3RhdGljX3BhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2Vycm9yLXBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3NuaXBwZXRzLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX29sZC1icm93c2VyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgJ3V0Zi04JztcblxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5AaW1wb3J0ICdkZWZpbml0aW9ucyc7XG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5cbkBmdW5jdGlvbiB2aC1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAgIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgICAgICRiYXNlOiAxMDgwO1xuICAgIH1cblxuICAgICR2YWx1ZTogKCgxMDAgKiBzdHJpcC11bml0KCR2YWx1ZSkpIC8gJGJhc2UpO1xuXG4gICAgQHJldHVybiAjeyR2YWx1ZX12aDtcbn1cblxuQGZ1bmN0aW9uIHZ3LWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gICAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICAgIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAgICAgJGJhc2U6IDEzMzQ7XG4gICAgfVxuXG4gICAgJHZhbHVlOiAoKDEwMCAqIHN0cmlwLXVuaXQoJHZhbHVlKSkgLyAkYmFzZSk7XG5cbiAgICBAcmV0dXJuICN7JHZhbHVlfXZ3O1xufVxuXG5AZnVuY3Rpb24gdm1heC1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAgIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgICAgICRiYXNlOiAxMzY2O1xuICAgIH1cblxuICAgICR1bml0OiAndm1heCc7XG5cbiAgICAkdmFsdWU6ICgoMTAwICogc3RyaXAtdW5pdCgkdmFsdWUpKSAvICRiYXNlKTtcblxuICAgIEByZXR1cm4gI3skdmFsdWV9I3skdW5pdH07XG59XG5cbkBmdW5jdGlvbiB2bWluLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gICAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICAgIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAgICAgJGJhc2U6IDEzNjY7XG4gICAgfVxuXG4gICAgJHVuaXQ6ICd2bWluJztcblxuICAgICR2YWx1ZTogKCgxMDAgKiBzdHJpcC11bml0KCR2YWx1ZSkpIC8gJGJhc2UpO1xuXG4gICAgQHJldHVybiAjeyR2YWx1ZX0jeyR1bml0fTtcbn1cblxuLy9GSVhNRSBkbyBub3QgbG9hZCBhbGwgY29tcG9uZW50cyAtIGNoZWNrIHdoYXQgeW91IG5lZWQgYW5kIGluY2x1ZGUgb25seSBuZWNlc3Nhcnlcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1ldmVyeXRoaW5nKCk7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG5AaW1wb3J0ICdzdHlsZXMnOyIsIi8qIENPTU1PTiBDT0xPUlMgKi9cblxuJGNvbG9yLW1lbnUtZ3JleTogI2U5ZTllOTtcbiRjb2xvci1tZW51LWRhcmstZ3JleTogI2I4YmZjNjtcbiRjb2xvci1tZW51LXRleHQ6ICMzMzMzMzM7XG4kZ3JleTogcmdiYSgyMjksIDIyOSwgMjI5LCAwLjUpO1xuJGdyZXktZGFyazogIzc2NzY3NjtcbiRncmV5LWRvdDogI2JjYzFjMjtcbiRncmV5LXRpdGxlOiAjMjIyMjIyO1xuXG4kY29sb3ItYmx1ZTogIzAwNTNmZjtcbiRjb2xvci1ibHVlMjogIzAwMWQ0NztcbiRjb2xvci1ibHVlMzogIzE3MWMyYTtcbiRjb2xvci1saWdodC1ibHVlOiAjZWZmMWY0O1xuXG4kYm94LWNvbG9yMTogI2YyZjJmMjtcbiRib3gtY29sb3IyOiAkZ3JleS1kb3Q7XG4kYm94LWNvbG9yMzogJGNvbG9yLWJsdWU7XG5cbiRjb2xvci1kYXJrOiAjMDYwNjA2O1xuXG4kYmdHcmV5OiAjZjVmNmY4OyIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vICAyOS4gUmV2ZWFsXG4vLyAgMzAuIFNsaWRlclxuLy8gIDMxLiBTd2l0Y2hcbi8vICAzMi4gVGFibGVcbi8vICAzMy4gVGFic1xuLy8gIDM0LiBUaHVtYm5haWxcbi8vICAzNS4gVGl0bGUgQmFyXG4vLyAgMzYuIFRvb2x0aXBcbi8vICAzNy4gVG9wIEJhclxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDE0cHg7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjY1KTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS40O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICAgICAgICBwcmltYXJ5OiAjMDAwLFxuICAgICAgICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gICAgICAgIHRoaXJkOiAjYzNjM2MzLFxuICAgICAgICBzdWNjZXNzOiAjM2FkYjc2LFxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxuICAgICAgICBhbGVydDogI2NjNGIzNyxcbiAgICAgICAgc2Vjb25kYXJ5LWJsdWU6ICMwMDUzZmYsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlOWU5ZTk7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdHaWxsU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICAgICAgICBzbWFsbDogMCxcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcbiAgICAgICAgbWVudWJyZWFrOiA5MDBweCxcbiAgICAgICAgbGFyZ2U6IDEwMjRweCxcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXG4gICAgICAgIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIG1lbnVicmVhayBsYXJnZSB4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRndXR0ZXItd2lkdGg6IDIwcHg7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gICAgICAgIHNtYWxsOiAkZ3V0dGVyLXdpZHRoLFxuICAgICAgICBtZWRpdW06ICRndXR0ZXItd2lkdGgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgICAgICAgc21hbGw6IChcbiAgICAgICAgICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAgICAgICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgICAgICAgKSxcbiAgICAgICAgbWVkaXVtOiAoXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyNiksXG4gICAgICAgICAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAyMiksXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgICAgICAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgICAgICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogNzIlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuNDtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogIzAwMzM2ZjtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDEuOGVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogIzAwNTNmZjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gICAgICAgIHRpbnk6IDAuNnJlbSxcbiAgICAgICAgc21hbGw6IDAuNzVyZW0sXG4gICAgICAgIGRlZmF1bHQ6IDAuOXJlbSxcbiAgICAgICAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICAgICAgICBzbWFsbDogMC42NnJlbSxcbiAgICAgICAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgICAgICAgc21hbGw6IDAuMzNlbSxcbiAgICAgICAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgICAgICAgc21hbGw6IDEuNWVtLFxuICAgICAgICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogIzAwMzM2ZjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICAgICAgICB0aW55OiAxMDBweCxcbiAgICAgICAgc21hbGw6IDIwMHB4LFxuICAgICAgICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogIzAwMzM2ZjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE4KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDFyZW0gMi41cmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6ICNlOWU5ZTk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICNlOWU5ZTk7XG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTA7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgICAgICAgZGVmYXVsdDogNCBieSAzLFxuICAgICAgICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuICAgICAgICBzbGlkZXJSYXRpbzogMjUzIGJ5IDk2LFxuKTtcblxuLy8gMjkuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAzMC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzEuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMi4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IG9kZDtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMzLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJGJnR3JleTtcbiR0YWItY29sb3I6ICM4MzgzODM7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkYmdHcmV5O1xuJHRhYi1pdGVtLXBhZGRpbmc6ICN7JGd1dHRlci13aWR0aCAvIDF9ICN7JGd1dHRlci13aWR0aC8yfSAjeyRndXR0ZXItd2lkdGggLyAyfSAjeyRndXR0ZXItd2lkdGgvMn07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJGJnR3JleTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRiZ0dyZXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMCAjeyRndXR0ZXItd2lkdGggKiAyfTtcblxuLy8gMzQuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM1LiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6ICN7JGd1dHRlci13aWR0aC8yfTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNi4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzcuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICNlOWU5ZTk7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVudWJyZWFrO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICd2YWx1ZSc7XG5AaW1wb3J0ICdkaXJlY3Rpb24nO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFNhZmVseSByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcmV0cmlldmUgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgbWFwIGtleS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtc2FmZS1nZXQoJG1hcCwgJGtleSkge1xuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnS2V5OiBgI3ska2V5fWAgaXMgbm90IGF2YWlsYWJsZSBpbiBgI3skbWFwfWAnO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bCB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6IDApIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBHZW5lcmF0ZXMgYSBzZWxlY3RvciB3aXRoIGV2ZXJ5IHRleHQgaW5wdXQgdHlwZS4gWW91IGNhbiBhbHNvIGZpbHRlciB0aGUgbGlzdCB0byBvbmx5IG91dHB1dCBhIHN1YnNldCBvZiB0aG9zZSBzZWxlY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8S2V5d29yZH0gJHR5cGVzIFsoKV0gLSBBIGxpc3Qgb2YgdGV4dCBpbnB1dCB0eXBlcyB0byB1c2UuIExlYXZlIGJsYW5rIHRvIHVzZSBhbGwgb2YgdGhlbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtb2RpZmllciBbJyddIC0gQSBtb2RpZmllciB0byBiZSBhcHBsaWVkIHRvIGVhY2ggdGV4dCBpbnB1dCB0eXBlIChlLmcuIGEgY2xhc3Mgb3IgYSBwc2V1ZG8tY2xhc3MpLiBMZWF2ZSBibGFuayB0byBpZ25vcmUuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoJHR5cGVzOiAoKSwgJG1vZGlmaWVyOiAnJykge1xuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3I7XG5cbiAgQGlmIG5vdCBoYXMtdmFsdWUoJHR5cGVzKSB7XG4gICAgJHR5cGVzOiAkYWxsLXR5cGVzO1xuICB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnW3R5cGU9XFwnI3skdHlwZX1cXCddI3skbW9kaWZpZXJ9JyksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJzsgICAgXG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlIG9yIGJyZWFrcG9pbnQgbmFtZSB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ25vcm1hbGl6ZS92YXJpYWJsZXMnO1xuQGltcG9ydCAnbm9ybWFsaXplL3ZlcnRpY2FsLXJoeXRobSc7XG5AaW1wb3J0ICdub3JtYWxpemUvbm9ybWFsaXplLW1peGluJztcbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vL1xuLy8vIENoZWNrcyB3aGV0aGVyIGAkZnVuY3Rpb25zYCBleGlzdCBpbiBnbG9iYWwgc2NvcGUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGZ1bmN0aW9ucyAtIGxpc3Qgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGZvclxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH0gV2hldGhlciBvciBub3QgdGhlcmUgYXJlIG1pc3NpbmcgZGVwZW5kZW5jaWVzXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygkZnVuY3Rpb25zLi4uKSB7XG4gICRtaXNzaW5nLWRlcGVuZGVuY2llczogKCk7XG4gIFxuICBAZWFjaCAkZnVuY3Rpb24gaW4gJGZ1bmN0aW9ucyB7XG4gICAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoJGZ1bmN0aW9uKSB7XG4gICAgICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6IGFwcGVuZCgkbWlzc2luZy1kZXBlbmRlbmNpZXMsICRmdW5jdGlvbiwgY29tbWEpO1xuICAgIH1cbiAgfVxuICBcbiAgQGlmIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMCB7XG4gICAgQGVycm9yICdVbm1ldCBkZXBlbmRlbmNpZXMhIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZXF1aXJlZDogI3skbWlzc2luZy1kZXBlbmRlbmNpZXN9Lic7XG4gIH1cblxuICBAcmV0dXJuIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMDtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgdHJ1dGhpbmVzcyBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjaGVja1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWlzLXRydWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlID09IG51bGwsIGZhbHNlLCAkdmFsdWUgYW5kICR2YWx1ZSAhPSBudWxsIGFuZCAkdmFsdWUgIT0gJycgYW5kICR2YWx1ZSAhPSAoKSk7XG59XG4iLCIvLy8gUmVtb3ZlcyBhbGwgZmFsc2UgYW5kIG51bGwgdmFsdWVzIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1wdXJnZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIGxpc3QgdG8gcHVyZ2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcHVyZ2UobnVsbCBhIGZhbHNlIGIpXG4vLy8gLy8gYSBiXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1wdXJnZSgkbGlzdCkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtdG8tbGlzdCcpO1xuICBcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBzbC1pcy10cnVlKCRpdGVtKSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGl0ZW0sIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBzbC10by1saXN0KCRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAYWxpYXMgc2wtcHVyZ2Vcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWNsZWFuKCRsaXN0KSB7XG4gIEByZXR1cm4gc2wtcHVyZ2UoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gUmVtb3ZlcyB2YWx1ZShzKSBgJHZhbHVlYCBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVtb3ZlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgICAgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAgICAgLSB2YWx1ZSB0byByZW1vdmVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVtb3ZlKGEgYiBjLCBhKVxuLy8vIC8vIGIgY1xuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1yZXBsYWNlJyk7XG5cbiAgQHJldHVybiBzbC1yZXBsYWNlKCRsaXN0LCAkdmFsdWUsIG51bGwpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVtb3ZlXG4vLy8gQGFsaWFzIHNsLXJlbW92ZVxuLy8vXG5cbkBmdW5jdGlvbiBzbC13aXRob3V0KCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy9cbi8vLyBSZXBsYWNlcyBgJG9sZGAgYnkgYCRuZXdgIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJG9sZCAgIC0gdmFsdWUgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gbmV3IHZhbHVlIGZvciAkb2xkXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIGIsIHopXG4vLy8gLy8gYSB6IGNcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgeSwgeilcbi8vLyAvLyBhIGIgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1yZXBsYWNlKCRsaXN0LCAkb2xkLCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXB1cmdlJywgJ3NsLXRvLWxpc3QnKTtcblxuICAkcnVubmluZzogdHJ1ZTtcblxuICBAd2hpbGUgJHJ1bm5pbmcge1xuICAgICRpbmRleDogaW5kZXgoJGxpc3QsICRvbGQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgJHJ1bm5pbmc6IGZhbHNlO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRsaXN0OiBzZXQtbnRoKCRsaXN0LCAkaW5kZXgsICR2YWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICAkbGlzdDogaWYoc2wtaXMtdHJ1ZSgkdmFsdWUpLCAkbGlzdCwgc2wtcHVyZ2UoJGxpc3QpKTtcbiAgXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBDYXN0cyBgJHZhbHVlYCBpbnRvIGEgbGlzdC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNhc3QgdG8gbGlzdFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIFtzcGFjZV0gLSBzZXBhcmF0b3IgdG8gdXNlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXRvLWxpc3QoYSBiIGMsIGNvbW1hKVxuLy8vIC8vIGEsIGIsIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC10by1saXN0KCR2YWx1ZSwgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhbHVlKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICR2YWx1ZSwgJHNlcGFyYXRvcik7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy8gQGFsaWFzIHNsLXRvLWxpc3Rcbi8vL1xuXG5AZnVuY3Rpb24gc2wtbGlzdGlmeSgkdmFsdWUpIHtcbiAgQHJldHVybiBzbC10by1saXN0KCR2YWx1ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgbm90IGZhbHNleSwgaW4gQ1NTIHRlcm1zLiBGYWxzZXkgdmFsdWVzIGFyZSBgbnVsbGAsIGBub25lYCwgYDBgIHdpdGggYW55IHVuaXQsIG9yIGFuIGVtcHR5IGxpc3QuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsYCBpcyBub3QgZmFsc2V5LlxuQGZ1bmN0aW9uIGhhcy12YWx1ZSgkdmFsKSB7XG4gIEBpZiAkdmFsID09IG51bGwgb3IgJHZhbCA9PSBub25lIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBhIHNob3J0aGFuZCBmb3JtYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8TnVtYmVyfSAkdmFsIC0gVmFsdWUgdG8gYW5hbHl6ZS4gU2hvdWxkIGJlIGEgc2hvcnRoYW5kIHNpemluZyBwcm9wZXJ0eSwgZS5nLiBcIjFlbSAyZW0gMWVtXCJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgc2luZ2xlIHZhbHVlIGJhc2VkIG9uIGAkdmFsYCBhbmQgYCRzaWRlYC5cbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHZhbCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMyB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSA0IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXG4gICAgKSwgJHNpZGUpO1xuICB9XG59XG5cbi8vLyBHaXZlbiBib3JkZXIgJHZhbCwgZmluZCBhIHNwZWNpZmljIGVsZW1lbnQgb2YgdGhlIGJvcmRlciwgd2hpY2ggaXMgJGVsZW0uIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yICRlbGVtIGFyZSB3aWR0aCwgc3R5bGUsIGFuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbCAtIEJvcmRlciB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSAtIEJvcmRlciBjb21wb25lbnQgdG8gZXh0cmFjdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gSWYgdGhlIHZhbHVlIGV4aXN0cywgcmV0dXJucyB0aGUgdmFsdWUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gdGhlIGJvcmRlciBkZWZpbml0aW9uLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSAwcHggd2lkdGgsIHNvbGlkIHN0eWxlLCBvciBibGFjayBib3JkZXIuXG5AZnVuY3Rpb24gZ2V0LWJvcmRlci12YWx1ZSgkdmFsLCAkZWxlbSkge1xuICAvLyBGaW5kIHRoZSB3aWR0aCwgc3R5bGUsIG9yIGNvbG9yIGFuZCByZXR1cm4gaXRcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XG4gICAgJHR5cGU6IHR5cGUtb2YoJHYpO1xuICAgIEBpZiAkZWxlbSA9PSB3aWR0aCBhbmQgJHR5cGUgPT0gJ251bWJlcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IHN0eWxlIGFuZCAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gY29sb3IgYW5kICR0eXBlID09ICdjb2xvcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0c1xuICAkZGVmYXVsdHM6IChcbiAgICB3aWR0aDogMCxcbiAgICBzdHlsZTogc29saWQsXG4gICAgY29sb3I6ICMwMDAsXG4gICk7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRkZWZhdWx0cywgJGVsZW0pO1xufVxuXG4vLy8gRmluZHMgYSB2YWx1ZSBpbiBhIG5lc3RlZCBtYXAuXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL2RlZXAtZ2V0c2V0LW1hcHMvIERlZXAgR2V0L1NldCBpbiBNYXBzXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXMuLi4gLSBLZXlzIHRvIHVzZSB3aGVuIGxvb2tpbmcgZm9yIGEgdmFsdWUuXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG5cbi8vLyBDYXN0cyBhIG1hcCBpbnRvIGEgbGlzdC5cbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzA0LzI4L2Nhc3RpbmctbWFwLWludG8tbGlzdC9cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IERlcGVuZGluZyBvbiB0aGUgZmxhZywgcmV0dXJucyBlaXRoZXIgJGtleXMgb3IgJHZhbHVlcyBvciBib3RoLlxuQGZ1bmN0aW9uIG1hcC10by1saXN0KCRtYXAsICRrZWVwOiAnYm90aCcpIHtcbiAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgJGtleXM6ICgpO1xuICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgIH1cblxuICAgIEBpZiAka2VlcCA9PSAna2V5cycge1xuICAgICAgQHJldHVybiAka2V5cztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRtYXApICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkbWFwKTtcblxufVxuXG4vLy8gU2FmZWx5IHJldHVybiBhIHZhbHVlIGZyb20gYSBtYXAuXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIHRoZSBtYXAga2V5LlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1zYWZlLWdldCgkbWFwLCAka2V5KSB7XG4gIEBpZiAodHlwZS1vZigkbWFwKSA9PSAnbWFwJyBvciAodHlwZS1vZigkbWFwKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkbWFwKSA9PSAwKSkge1xuICAgIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdLZXk6IGAjeyRrZXl9YCBpcyBub3QgYXZhaWxhYmxlIGluIGAjeyRtYXB9YCc7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2AjeyRtYXB9YCBpcyBub3QgYSB2YWxpZCBtYXAnO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBVc2VkIGRpcmVjdGlvbiBiZXR3ZWVuIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiBhbmQgXCJsZWZ0XCIuXG4vLy8gQHJldHVybiB7S2V5d29yZH0gT3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbkBmdW5jdGlvbiBkaXJlY3Rpb24tb3Bwb3NpdGUoXG4gICRkaXJcbikge1xuICAkZGlyczogKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7XG4gICRwbGFjZTogaW5kZXgoJGRpcnMsICRkaXIpO1xuXG4gIEBpZiAkcGxhY2UgPT0gbnVsbCB7XG4gICAgQGVycm9yICdkaXJlY3Rpb24tb3Bwb3NpdGU6IEludmFsaWQgJGRpciBwYXJhbWV0ZXIsIGV4cGVjdGVkIGEgdmFsdWUgZnJvbSBcIiN7JGRpcnN9XCIsIGZvdW5kIFwiI3skZGlyfVwiLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2FsY3VsIHRoZSBvcHBvc2l0ZSBwbGFjZSBpbiBhIGNpcmNsZSwgd2l0aCBhIHN0YXJ0aW5nIGluZGV4IG9mIDFcbiAgJGxlbmd0aDogbGVuZ3RoKCRkaXJzKTtcbiAgJGRlbWk6ICRsZW5ndGggLyAyO1xuICAkb3Bwb3NpdGUtcGxhY2U6ICgoJHBsYWNlICsgJGRlbWkgLSAxKSAlICRsZW5ndGgpICsgMTtcblxuICBAcmV0dXJuIG50aCgkZGlycywgJG9wcG9zaXRlLXBsYWNlKTtcbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogMCkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnOyAgICBcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUgb3IgYnJlYWtwb2ludCBuYW1lIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kLXpmLWZvbnQtc3RhY2s6IChcbiAgJ2dlb3JnaWEnOiAoR2VvcmdpYSwgXCJVUlcgQm9va21hbiBMXCIsIHNlcmlmKSxcbiAgJ2hlbHZldGljYSc6IChIZWx2ZXRpY2EsIEFyaWFsLCBcIk5pbWJ1cyBTYW5zIExcIiwgc2Fucy1zZXJpZiksXG4gICdsdWNpZGEtZ3JhbmRlJzogKFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJCaXRzdHJlYW0gVmVyYSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuICAnbW9ub3NwYWNlJzogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXG4gICdzeXN0ZW0nOiAoLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKSxcbiAgJ3ZlcmRhbmEnOiAoVmVyZGFuYSwgR2VuZXZhLCBcIkRlamFWdSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuKTtcblxuLy8vIFJldHVybiBhIGZvbnQgc3RhY2sgbGlzdCBmcm9tIGEgbWFwLiBFcXVpdmFsZW50IHRvIGBtYXAtc2FmZS1nZXQoJG5hbWUsICQtemYtZm9udC1zdGFjaylgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayAtIE5hbWUgb2YgdGhlIGZvbnQgc3RhY2suXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgWyQtemYtZm9udC1zdGFja10gLSBNYXAgb2YgZm9udCBzdGFja3MgdG8gcmV0cmlldmUgYSBsaXN0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgZm9udCBzdGFjay5cbkBmdW5jdGlvbiBmb250LXN0YWNrKCRzdGFjaywgJG1hcDogJC16Zi1mb250LXN0YWNrKSB7XG4gIEByZXR1cm4gbWFwLXNhZmUtZ2V0KCRtYXAsICRzdGFjayk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIHJvdy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudCBvZiBhIGdyaWQuIENoYW5naW5nIHRoaXMgdmFsdWUgYWZmZWN0cyB0aGUgbG9naWMgb2YgdGhlIGdyaWQgbWl4aW5zLCBhbmQgdGhlIG51bWJlciBvZiBDU1MgY2xhc3NlcyBvdXRwdXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcy4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbi8vLyBAc2luY2UgNi4xLjBcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyB3aWxsIGFsaWduIHRvIHRoZSBvcHBvc2l0ZSBlZGdlIG9mIHRoZSByb3cuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciB1c2VkIGZvciBhbiBhbGlhcyBvZiBjb2x1bW4gKHdpdGggQGV4dGVuZCkuIElmIGBmYWxzZWAsIG5vIGFsaWFzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJyAhZGVmYXVsdDtcblxuLy8vIFRoZSBoaWdoZXN0IG51bWJlciBvZiBgLngtdXBgIGNsYXNzZXMgYXZhaWxhYmxlIHdoZW4gdXNpbmcgdGhlIGJsb2NrIGdyaWQgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJGJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YWx1ZSB0byBzdG9yZSB0aGUgZW5kIGNvbHVtbiBmbG9hdCBkaXJlY3Rpb25cbiQtemYtZW5kLWZsb2F0OiBpZigkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSwgJGdsb2JhbC1yaWdodCwgJGdsb2JhbC1sZWZ0KTtcblxuQGltcG9ydCAncm93JztcbkBpbXBvcnQgJ2NvbHVtbic7XG5AaW1wb3J0ICdzaXplJztcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcbkBpbXBvcnQgJ2d1dHRlcic7XG5AaW1wb3J0ICdjbGFzc2VzJztcbkBpbXBvcnQgJ2xheW91dCc7XG5cbkBpbXBvcnQgJ2ZsZXgtZ3JpZCc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpOyBcbiAgICAgIFxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cblxuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGRpcmVjdGlvbiBoZWxwZXIgY2xhc3Nlc1xuICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBjaGlsZCBoZWxwZXIgY2xhc3Nlc1xuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgLiN7JC16Zi1zaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlcyAodGFncyBvbmx5KVxuQGltcG9ydCAnYmFzZSc7XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyIGNsYXNzZXMgKGNsYXNzZXMgb25seSlcbkBpbXBvcnQgJ2hlbHBlcnMnO1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzc2VzXG5AaW1wb3J0ICdhbGlnbm1lbnQnO1xuXG4vLyBQcmludCBzdHlsZXNcbkBpbXBvcnQgJ3ByaW50JztcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeSB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcmludC1zdHlsZXM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gR2xvYmFsIHNwYWNpbmcgZm9yIGZvcm0gZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ3RleHQnO1xuQGltcG9ydCAnY2hlY2tib3gnO1xuQGltcG9ydCAnbGFiZWwnO1xuQGltcG9ydCAnaGVscC10ZXh0JztcbkBpbXBvcnQgJ2lucHV0LWdyb3VwJztcbkBpbXBvcnQgJ2ZpZWxkc2V0JztcbkBpbXBvcnQgJ3NlbGVjdCc7XG5AaW1wb3J0ICdyYW5nZSc7XG5AaW1wb3J0ICdwcm9ncmVzcyc7XG5AaW1wb3J0ICdtZXRlcic7XG5AaW1wb3J0ICdlcnJvcic7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm1zIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1lcnJvcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1yYW5nZS1pbnB1dCB7XG4gIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhcblxuICAgIC8vIENocm9tZS9TYWZhcmlcbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLWhhbmRsZSB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpcmVmb3hcbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludGVybmV0IEV4cGxvcmVyXG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcblxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgb3V0cHV0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQge1xuICBwcm9ncmVzcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7XG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZXRlclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIExlbmd0aFxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYW4gYXZlcmFnZSB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYSBzdWJvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1tZXRlci1lbGVtZW50IHtcbiAgbWV0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG1ldGVyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcblxuICAgIC8vIENocm9tZS9TYWZhcmkvRWRnZVxuICAgICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQge1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtbWVkaXVtO1xuICAgIH1cblxuICAgICY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsIFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRwcmltYXJ5LWNvbG9yXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgc2xhc2guXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG5AbWl4aW4gbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgbGVmdCkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZm9yIGJvcmRlcmVkIG1lbnVcbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG5cbiAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBTZXQgdG8gYG51bGxgIHRvIGRvIG5vdCBnZW5lcmF0ZSBzdHlsZXMgZm9yIGRpcmVjdGlvbi5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQpIHtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIEBpZiAkZGlyICE9IG51bGwge1xuICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlLWRpcmVjdGlvbigkZGlyKTtcbiAgfVxufVxuXG4vLy8gRGlyZWN0aW9uIG1vZGlmaWVyIGZvciBhIHNpbXBsZSBNZW51XG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51XG5AbWl4aW4gbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICAkbm8tbWFyZ2luLWRpcjogJGRpcjtcbiAgJG1hcmdpbi1kaXI6IGRpcmVjdGlvbi1vcHBvc2l0ZSgkZGlyKTtcblxuICBsaSB7XG4gICAgbWFyZ2luLSN7JG5vLW1hcmdpbi1kaXJ9OiAwO1xuICAgIG1hcmdpbi0jeyRtYXJnaW4tZGlyfTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkbWFyZ2luLWRpcik7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcblxuICAgICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRnbG9iYWwtcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICAgIC8vIE1ha2UgdmVydGljYWwgbWVudSB3aXRoIGljb25zIG9uIHRvcCB3b3JrXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgYSA+IHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBib3JkZXJcbiAgICAmLm1lbnUtYm9yZGVyZWQge1xuICAgICAgbGkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVudS1ib3JkZXI7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IHdpdGggYmFja2dyb3VuZCBob3ZlclxuICAgICYubWVudS1ob3ZlciB7XG4gICAgICBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IHRvcCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZTogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZSwgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1zaGFkb3cgaXMgc2V0LCBhZGQgaXQgYXMgYSBwc2V1ZG8tZWxlbWVudC5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLXNoYWRvdyB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG4gIH1cblxuICAvLyBObyB0cmFuc2Zvcm0gb24gb3ZlcmxhcCB0cmFuc2l0aW9uXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3Ncbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBNb3Rpb24gVUkgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbS9tb3Rpb24tdWlcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5cbkBpbXBvcnQgJ3V0aWwvYW5pbWF0aW9uJztcbkBpbXBvcnQgJ3V0aWwvYXJncyc7XG5AaW1wb3J0ICd1dGlsL2tleWZyYW1lJztcbkBpbXBvcnQgJ3V0aWwvc2VsZWN0b3InO1xuQGltcG9ydCAndXRpbC9zZXJpZXMnO1xuQGltcG9ydCAndXRpbC90cmFuc2l0aW9uJztcbkBpbXBvcnQgJ3V0aWwvdW5pdCc7XG5cbkBpbXBvcnQgJ2VmZmVjdHMvZmFkZSc7XG5AaW1wb3J0ICdlZmZlY3RzL2hpbmdlJztcbkBpbXBvcnQgJ2VmZmVjdHMvc3Bpbic7XG5AaW1wb3J0ICdlZmZlY3RzL3pvb20nO1xuQGltcG9ydCAnZWZmZWN0cy9zaGFrZSc7XG5AaW1wb3J0ICdlZmZlY3RzL3NsaWRlJztcbkBpbXBvcnQgJ2VmZmVjdHMvd2lnZ2xlJztcblxuQGltcG9ydCAndHJhbnNpdGlvbnMvZmFkZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy9oaW5nZSc7XG5AaW1wb3J0ICd0cmFuc2l0aW9ucy96b29tJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NsaWRlJztcbkBpbXBvcnQgJ3RyYW5zaXRpb25zL3NwaW4nO1xuXG5AaW1wb3J0ICdjbGFzc2VzJztcbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vLyBQcm9jZXNzZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgZnVuY3Rpb24gYXJndW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJGFyZ3MpID09IDEge1xuICAgICRhcmc6IG50aCgkYXJncywgMSk7XG5cbiAgICBAaWYgdHlwZS1vZigkYXJnKSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuIGNhbGwoJGFyZyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRhcmcpID09ICdtYXAnIHtcbiAgICAgIEByZXR1cm4gJGFyZztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkYXJncy4uLik7XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQnVpbGRzIGEgc2VsZWN0b3IgZm9yIGEgbW90aW9uIGNsYXNzLCB1c2luZyB0aGUgc2V0dGluZ3MgZGVmaW5lZCBpbiB0aGUgYCRtb3Rpb24tdWktY2xhc3Nlc2AgYW5kIGAkbW90aW9uLXVpLXN0YXRlc2AgbWFwcy5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkc3RhdGVzIC0gT25lIG9yIG1vcmUgc3RyaW5ncyB0aGF0IGNvcnJlbGF0ZSB0byBhIHN0YXRlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFjdGl2ZSAtIERlZmluZXMgaWYgdGhlIHNlbGVjdG9yIGlzIGZvciB0aGUgc2V0dXAgb3IgYWN0aXZlIGNsYXNzLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZWxlY3RvciB0aGF0IGNhbiBiZSBpbnRlcnBvbGF0ZWQgaW50byB5b3VyIFNhc3MgY29kZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWJ1aWxkLXNlbGVjdG9yKCRzdGF0ZXMsICRhY3RpdmU6IGZhbHNlKSB7XG4gICRyZXR1cm46ICcnO1xuICAkY2hhaW46IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBjaGFpbik7XG4gICRwcmVmaXg6IG1hcC1nZXQoJG1vdGlvbi11aS1jbGFzc2VzLCBwcmVmaXgpO1xuICAkc3VmZml4OiBtYXAtZ2V0KCRtb3Rpb24tdWktY2xhc3NlcywgYWN0aXZlKTtcblxuICBAZWFjaCAkc2VsIGluICRzdGF0ZXMge1xuICAgICRyZXR1cm46ICRyZXR1cm4gKyBpZigkY2hhaW4sICcmLicsICcjeyZ9LScpICsgJHByZWZpeCArICRzZWw7XG5cbiAgICBAaWYgJGFjdGl2ZSB7XG4gICAgICAkcmV0dXJuOiAkcmV0dXJuICsgaWYoJGNoYWluLCAnLicsICcjeyZ9LScpICsgJHByZWZpeCArICRzZWwgKyAkc3VmZml4O1xuICAgIH1cblxuICAgICRyZXR1cm46ICRyZXR1cm4gKyAnLCAnO1xuICB9XG5cbiAgQHJldHVybiBzdHItc2xpY2UoJHJldHVybiwgMSwgLTMpO1xufVxuIiwiJC1tdWktcXVldWU6ICgpO1xuXG4vLy8gUGF1c2VzIHRoZSBhbmltYXRpb24gb24gYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgdGhlbiBwbGF5cyBpdCB3aGVuIGFuIGFjdGl2ZSBjbGFzcyBpcyBhZGRlZCB0byBhIHBhcmVudC4gQWxzbyBzZXRzIHRoZSBmaWxsIG1vZGUgb2YgdGhlIGFuaW1hdGlvbiB0byBgYm90aGAuIFRoaXMgcGF1c2VzIHRoZSBlbGVtZW50IGF0IHRoZSBmaXJzdCBmcmFtZSBvZiB0aGUgYW5pbWF0aW9uLCBhbmQgaG9sZHMgaXQgaW4gcGxhY2UgYXQgdGhlIGVuZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbiVhbmltYXRlZC1lbGVtZW50IHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuICAuI3ttYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGFjdGl2YXRlLXF1ZXVlLWNsYXNzKX0gJiB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBuZXcgYW5pbWF0aW9uIHF1ZXVlLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbMHNdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gcGxhY2UgYXQgdGhlIGZyb250IG9mIHRoZSBhbmltYXRpb24gcXVldWUuXG5AbWl4aW4gbXVpLXNlcmllcygkZGVsYXk6IDBzKSB7XG4gICQtbXVpLXF1ZXVlOiAoKSAhZ2xvYmFsO1xuXG4gIEBpZiAkZGVsYXkgPiAwIHtcbiAgICAkaXRlbTogKCRkZWxheSwgMHMpO1xuICAgICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vLyBBZGRzIGFuIGFuaW1hdGlvbiB0byBhbiBhbmltYXRpb24gcXVldWUuIE9ubHkgdXNlIHRoaXMgbWl4aW4gaW5zaWRlIG9mIGBtdWktc2VyaWVzKClgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbMXNdIC0gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGdhcCBbMHNdIC0gQW1vdW50IG9mIHRpbWUgdG8gcGF1c2UgYmVmb3JlIHBsYXlpbmcgdGhlIGFuaW1hdGlvbiBhZnRlciB0aGlzIG9uZS4gVXNlIGEgbmVnYXRpdmUgdmFsdWUgdG8gbWFrZSB0aGUgbmV4dCBlZmZlY3Qgb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IG9uZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAka2V5ZnJhbWVzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktcXVldWUoXG4gICRkdXJhdGlvbjogMXMsXG4gICRnYXA6IDBzLFxuICAka2V5ZnJhbWVzLi4uXG4pIHtcbiAgLy8gQnVpbGQgdGhlIGFuaW1hdGlvblxuICAka2Y6IC1tdWktcHJvY2Vzcy1hcmdzKCRrZXlmcmFtZXMuLi4pO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgZGVsYXkgZm9yIHRoaXMgYW5pbWF0aW9uIGJhc2VkIG9uIGhvdyBsb25nIHRoZSBwcmV2aW91cyBvbmVzIHRha2VcbiAgJGFjdHVhbC1kZWxheTogMHM7XG4gIEBlYWNoICRhbmltIGluICQtbXVpLXF1ZXVlIHtcbiAgICAkYWN0dWFsLWRlbGF5OiAkYWN0dWFsLWRlbGF5ICsgbnRoKCRhbmltLCAxKSArIG50aCgkYW5pbSwgMik7XG4gIH1cblxuICAvLyBBcHBlbmQgdGhpcyBhbmltYXRpb24ncyBsZW5ndGggYW5kIGdhcCB0byB0aGUgZW5kIG9mIHRoZSBxdWV1ZVxuICAkaXRlbTogKCRkdXJhdGlvbiwgJGdhcCk7XG4gICQtbXVpLXF1ZXVlOiBhcHBlbmQoJC1tdWktcXVldWUsICRpdGVtKSAhZ2xvYmFsO1xuXG4gIC8vIENTUyBvdXRwdXRcbiAgQGV4dGVuZCAlYW5pbWF0ZWQtZWxlbWVudDtcbiAgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbigka2YpO1xuICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYWN0dWFsLWRlbGF5O1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgYXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIGZhZGUoXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAkdHlwZTogdHlwZS1vZigkZnJvbSk7XG4gICRrZXlmcmFtZXM6ICgpO1xuXG4gIEBpZiAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmICRmcm9tID09IGluIHtcbiAgICAgICRmcm9tOiAwO1xuICAgICAgJHRvOiAxO1xuICAgIH0gQGVsc2UgaWYgJGZyb20gPT0gb3V0IHtcbiAgICAgICRmcm9tOiAxO1xuICAgICAgJHRvOiAwO1xuICAgIH1cbiAgfVxuXG4gICRmcm9tTmFtZTogJGZyb20gKiAxMDA7XG4gICR0b05hbWU6ICAgJHRvICAgKiAxMDA7XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdmYWRlLSN7JGZyb21OYW1lfS10by0jeyR0b05hbWV9JyxcbiAgICAwOiAob3BhY2l0eTogJGZyb20pLFxuICAgIDEwMDogKG9wYWNpdHk6ICR0byksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMzYwZGVnXSAtIEFtb3VudCB0byBzcGluLiBDYW4gYmUgYW55IENTUyBhbmdsZSB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMXR1cm5cbikge1xuICAkc3RhcnQ6IDA7XG4gICRlbmQ6IDA7XG5cbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBpZigkZGlyZWN0aW9uID09IGNjdywgJGFtb3VudCwgJGFtb3VudCAqIC0xKTtcbiAgICAkZW5kOiAwO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IDA7XG4gICAgJGVuZDogaWYoJGRpcmVjdGlvbiA9PSBjY3csICRhbW91bnQgKiAtMSwgJGFtb3VudCk7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NwaW4tI3skZGlyZWN0aW9ufS0jeyRhbW91bnR9JyxcbiAgICAwOiAodHJhbnNmb3JtOiByb3RhdGUoJHN0YXJ0KSksXG4gICAgMTAwOiAodHJhbnNmb3JtOiByb3RhdGUoJGVuZCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuQGZ1bmN0aW9uIHpvb20oXG4gICRmcm9tOiAwLFxuICAkdG86IDFcbikge1xuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NjYWxlLSN7JHRvfS10by0jeyRmcm9tfScsXG4gICAgMDogKHRyYW5zZm9ybTogc2NhbGUoJGZyb20pKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06IHNjYWxlKCR0bykpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2hha2luZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkaW50ZW5zaXR5IFs3JV0gLSBJbnRlbnNpdHkgb2YgdGhlIHNoYWtlLCBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHNoYWtlKCRpbnRlbnNpdHk6IDclKSB7XG4gICRyaWdodDogKDAsIDEwLCAyMCwgMzAsIDQwLCA1MCwgNjAsIDcwLCA4MCwgOTApO1xuICAkbGVmdDogKDUsIDE1LCAyNSwgMzUsIDQ1LCA1NSwgNjUsIDc1LCA4NSwgOTUpO1xuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnc2hha2UtI3soJGludGVuc2l0eSAvIDElKX0nLFxuICAgICRyaWdodDogKHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkaW50ZW5zaXR5KSksXG4gICAgJGxlZnQ6ICh0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRpbnRlbnNpdHkpKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBXaGV0aGVyIHRvIG1vdmUgdG8gKGBpbmApIG9yIGZyb20gKGBvdXRgKSB0aGUgZWxlbWVudCdzIGRlZmF1bHQgcG9zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFt1cF0gLSBEaXJlY3Rpb24gdG8gbW92ZS4gQ2FuIGJlIGB1cGAsIGBkb3duYCwgYGxlZnRgLCBvciBgcmlnaHRgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFsxMDAlXSAtIERpc3RhbmNlIHRvIG1vdmUuIENhbiBiZSBhbnkgQ1NTIGxlbmd0aCB1bml0LlxuLy8vIEByZXR1cm4ge01hcH0gQSBrZXlmcmFtZXMgbWFwIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgYGdlbmVyYXRlLWtleWZyYW1lcygpYCBtaXhpbi5cbkBmdW5jdGlvbiBzbGlkZShcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogdXAsXG4gICRhbW91bnQ6IDEwMCVcbikge1xuICAkZnJvbTogJGFtb3VudDtcbiAgJHRvOiAwO1xuICAkZnVuYzogJ3RyYW5zbGF0ZVknO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IGxlZnQgb3IgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgJGZ1bmM6ICd0cmFuc2xhdGVYJztcbiAgfVxuXG4gIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAkZnJvbTogMDtcbiAgICAkdG86ICRhbW91bnQ7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICAgJGZyb206IC0kZnJvbTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc3RhdGUgPT0gb3V0IHtcbiAgICAgICR0bzogLSR0bztcbiAgICB9XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ3NsaWRlLSN7JHN0YXRlfS0jeyRkaXJlY3Rpb259LSN7c3RyaXAtdW5pdCgkYW1vdW50KX0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyRmcm9tfSknKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICcjeyRmdW5jfSgjeyR0b30pJyksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSB3aWdnbGluZyBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRpbnRlbnNpdHkgWzdkZWddIC0gSW50ZW5zaXR5IG9mIHRoZSB3aWdnbGUuIENhbiBiZSBhbnkgQ1NTIGFuZ2xlIHVuaXQuXG4vLy8gQHJldHVybiB7TWFwfSBBIGtleWZyYW1lcyBtYXAgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBgZ2VuZXJhdGUta2V5ZnJhbWVzKClgIG1peGluLlxuQGZ1bmN0aW9uIHdpZ2dsZSgkaW50ZW5zaXR5OiA3ZGVnKSB7XG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnd2lnZ2xlLSN7JGludGVuc2l0eX0nLFxuICAgICg0MCwgNTAsIDYwKTogKHRyYW5zZm9ybTogcm90YXRlKCRpbnRlbnNpdHkpKSxcbiAgICAoMzUsIDQ1LCA1NSwgNjUpOiAodHJhbnNmb3JtOiByb3RhdGUoLSRpbnRlbnNpdHkpKSxcbiAgICAoMCwgMzAsIDcwLCAxMDApOiAodHJhbnNmb3JtOiByb3RhdGUoMCkpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsImJvZHkge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAmLmltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy9Cb290c3RyYXA0IHNldHRpbmdzXG4kYm9keS1iZzogI0ZGRjtcbiRib2R5LWNvbG9yOiAjMDAwO1xuJHByaW1hcnk6ICMwMDUzZmY7XG4kY29weWNvbG9yOiAjMDAzYTgwO1xuJG5ldy1jb2xvcjogIzAwYjA1MDtcbiRlbmFibGUtcm91bmRlZDogZmFsc2U7XG4kZW5hYmxlLXNoYWRvd3M6IGZhbHNlO1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiBmYWxzZTtcbiRidG4tYm94LXNoYWRvdzogbm9uZTtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6IG5vbmU7XG4kYm9yZGVyLXJhZGl1czogMDtcbiRib3JkZXItcmFkaXVzLWxnOiAwO1xuJGJvcmRlci1yYWRpdXMtc206IDA7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDQ4cHg7XG4kaGFsZi1ndXR0ZXItd2lkdGg6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbkBpbXBvcnQgXCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX21vZGFsLnNjc3NcIjtcbi8vQGltcG9ydCBcIi4uL2pzL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi9qcy92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3V0aWxpdGllcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2Nzc1wiO1xuXG4kZmEtZm9udC1wYXRoOiAnL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL2ZvbnQtYXdlc29tZS9mb250cy8nO1xuQGltcG9ydCBcImZvbnQtYXdlc29tZVwiO1xuXG5AaW1wb3J0IFwiX2ZvbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJfdHlwby5zY3NzXCI7XG5AaW1wb3J0IFwiX3Nwcml0ZXMuc2Nzc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vanMvdmVuZG9yL2ljaGVjay9jc3MvbWluaW1hbC9fYWxsLmNzc1wiO1xuXG5AaW1wb3J0IFwic2xpY2suc2Nzc1wiO1xuQGltcG9ydCBcImpxdWVyeS5zY3JvbGxiYXIuc2Nzc1wiO1xuQGltcG9ydCBcIi9hc3NldHMvYm93ZXJfY29tcG9uZW50cy9mYW5jeWJveC9kaXN0L2pxdWVyeS5mYW5jeWJveC5taW4uY3NzXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2hhbWJ1cmdlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmFzaWNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlcl9mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NsaWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYXJ0aWNsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGFjdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvZHVjdHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb2R1Y3RzX2F2YWlsYWJsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvbW90aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zdGF0aWNfcGFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZXJyb3ItcGFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc25pcHBldHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jhbm5lclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvb2xkLWJyb3dzZXJcIjtcblxuQGluY2x1ZGUgc3ByaXRlcygkc3ByaXRlc2hlZXQtc3ByaXRlcyk7XG5cbm1haW4ge1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59IiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIgb3IgdW5pdCgkcHJldi1udW0pID09IFwiJVwiIHtcbiAgICAgIC8vIERvIG5vdGhpbmdcbiAgICB9IEBlbHNlIGlmIG5vdCBjb21wYXJhYmxlKCRwcmV2LW51bSwgJG51bSkge1xuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9IEBlbHNlIGlmICRwcmV2LW51bSA+PSAkbnVtIHtcbiAgICAgIEB3YXJuIFwiSW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hpY2ggaXNuJ3QgZ3JlYXRlciB0aGFuICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH1cbiAgICAkcHJldi1rZXk6ICRrZXk7XG4gICAgJHByZXYtbnVtOiAkbnVtO1xuICB9XG59XG5cbi8vIFN0YXJ0cyBhdCB6ZXJvXG4vLyBVc2VkIHRvIGVuc3VyZSB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXAsICRtYXAtbmFtZTogXCIkZ3JpZC1icmVha3BvaW50c1wiKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiAjeyRtYXAtbmFtZX0gbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsXCIlM2NcIiksXG4gIChcIj5cIixcIiUzZVwiKSxcbiAgKFwiI1wiLFwiJTIzXCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXggIWRlZmF1bHQ7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW4gIWRlZmF1bHQ7XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSAhZGVmYXVsdDtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInZlbmRvci9yZnNcIjtcblxuLy8gRGVwcmVjYXRlXG5AaW1wb3J0IFwibWl4aW5zL2RlcHJlY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NjcmVlbi1yZWFkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuQGltcG9ydCBcIm1peGlucy90cmFuc2l0aW9uXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gRGVwcmVjYXRlIG1peGluXG4vL1xuLy8gVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBkZXByZWNhdGUgbWl4aW5zIG9yIGZ1bmN0aW9ucy5cbi8vIGAkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzYCBpcyBhIGdsb2JhbCB2YXJpYWJsZSwgYCRpZ25vcmUtd2FybmluZ2AgaXMgYSB2YXJpYWJsZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG9cbi8vIHNvbWUgZGVwcmVjYXRlZCBtaXhpbnMgdG8gc3VwcHJlc3MgdGhlIHdhcm5pbmcgKGZvciBleGFtcGxlIGlmIHRoZSBtaXhpbiBpcyBzdGlsbCBiZSB1c2VkIGluIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgQm9vdHN0cmFwKVxuQG1peGluIGRlcHJlY2F0ZSgkbmFtZSwgJGRlcHJlY2F0ZS12ZXJzaW9uLCAkcmVtb3ZlLXZlcnNpb24sICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgQGlmICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzICE9IGZhbHNlIGFuZCAkaWdub3JlLXdhcm5pbmcgIT0gdHJ1ZSkge1xuICAgIEB3YXJuIFwiI3skbmFtZX0gaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiAjeyRkZXByZWNhdGUtdmVyc2lvbn0uIEl0IHdpbGwgYmUgcmVtb3ZlZCBlbnRpcmVseSBpbiAjeyRyZW1vdmUtdmVyc2lvbn0uXCI7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW52aXNpYmxlKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLCAwKTtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15LCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBuYXYtZGl2aWRlcigpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQsIGVzY2FwZS1zdmcoJGljb24pICRjdXN0b20tc2VsZWN0LWJnIG5vLXJlcGVhdCAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKGxpZ2h0ZW4oJGNvbG9yLCAxMCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLXZhcmlhbnRgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0KCkge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LWxlZnRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQoKSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LXJpZ2h0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LW5vbmUoKSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbm9uZWAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwKTtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7IG1heC13aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogJG1vZGFsLWxnO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHsgbWF4LXdpZHRoOiAkbW9kYWwteGw7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMsIHBvaW50ZXIsIG51bGwpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGJ0bi1mb250LXNpemUsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwidXRpbGl0aWVzL2FsaWduXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYm9yZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2VtYmVkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2ZsZXhcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZmxvYXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvc2NyZWVucmVhZGVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaGFkb3dzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3NpemluZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zdHJldGNoZWQtbGlua1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdmlzaWJpbGl0eVwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgICAuZCN7JGluZml4fS0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJHZhbHVlIGluICRkaXNwbGF5cyB7XG4gICAgLmQtcHJpbnQtI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbiAgaWZyYW1lLFxuICBlbWJlZCxcbiAgb2JqZWN0LFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbkBlYWNoICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbyBpbiAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zIHtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXg6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDEpO1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teTogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMik7XG5cbiAgLmVtYmVkLXJlc3BvbnNpdmUtI3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teH1ieSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXl9IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXkgLyAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmICRzaXplICE9IDAge1xuICAgICAgICAubSN7JGluZml4fS1uI3skc2l6ZX0geyBtYXJnaW46IC0kbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm10I3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubXIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1iI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm15I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWwjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXgjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBJRSAmIDwgRWRnZSAxOFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX07XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBhZGQoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgLyAyOyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyAvLyBXaHk/XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gRWRnZSBzcGVjaWZpY1xuICAgIG1hcmdpbi1yaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOyAgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjcuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL1xuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicGF0aFwiO1xuQGltcG9ydCBcImNvcmVcIjtcbkBpbXBvcnQgXCJsYXJnZXJcIjtcbkBpbXBvcnQgXCJmaXhlZC13aWR0aFwiO1xuQGltcG9ydCBcImxpc3RcIjtcbkBpbXBvcnQgXCJib3JkZXJlZC1wdWxsZWRcIjtcbkBpbXBvcnQgXCJhbmltYXRlZFwiO1xuQGltcG9ydCBcInJvdGF0ZWQtZmxpcHBlZFwiO1xuQGltcG9ydCBcInN0YWNrZWRcIjtcbkBpbXBvcnQgXCJpY29uc1wiO1xuQGltcG9ydCBcInNjcmVlbi1yZWFkZXJcIjtcbiIsIi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZhLWZvbnQtcGF0aDogICAgICAgIFwiLi4vZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAxNHB4ICFkZWZhdWx0O1xuJGZhLWxpbmUtaGVpZ2h0LWJhc2U6IDEgIWRlZmF1bHQ7XG4vLyRmYS1mb250LXBhdGg6ICAgICAgICBcIi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2ZvbnRzXCIgIWRlZmF1bHQ7IC8vIGZvciByZWZlcmVuY2luZyBCb290c3RyYXAgQ0ROIGZvbnQgZmlsZXMgZGlyZWN0bHlcbiRmYS1jc3MtcHJlZml4OiAgICAgICBmYSAhZGVmYXVsdDtcbiRmYS12ZXJzaW9uOiAgICAgICAgICBcIjQuNy4wXCIgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLWNvbG9yOiAgICAgI2VlZSAhZGVmYXVsdDtcbiRmYS1pbnZlcnNlOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICgzMGVtIC8gMTQpICFkZWZhdWx0O1xuXG4kZmEtdmFyLTUwMHB4OiBcIlxcZjI2ZVwiO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFwiXFxmMmI5XCI7XG4kZmEtdmFyLWFkZHJlc3MtYm9vay1vOiBcIlxcZjJiYVwiO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFwiXFxmMmJiXCI7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZC1vOiBcIlxcZjJiY1wiO1xuJGZhLXZhci1hZGp1c3Q6IFwiXFxmMDQyXCI7XG4kZmEtdmFyLWFkbjogXCJcXGYxNzBcIjtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcIlxcZjAzN1wiO1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcIlxcZjAzOVwiO1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcIlxcZjAzNlwiO1xuJGZhLXZhci1hbGlnbi1yaWdodDogXCJcXGYwMzhcIjtcbiRmYS12YXItYW1hem9uOiBcIlxcZjI3MFwiO1xuJGZhLXZhci1hbWJ1bGFuY2U6IFwiXFxmMGY5XCI7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xuJGZhLXZhci1hbmNob3I6IFwiXFxmMTNkXCI7XG4kZmEtdmFyLWFuZHJvaWQ6IFwiXFxmMTdiXCI7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFwiXFxmMTAzXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcIlxcZjEwMFwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXCJcXGYxMDJcIjtcbiRmYS12YXItYW5nbGUtZG93bjogXCJcXGYxMDdcIjtcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcbiRmYS12YXItYXJjaGl2ZTogXCJcXGYxODdcIjtcbiRmYS12YXItYXJlYS1jaGFydDogXCJcXGYxZmVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcIlxcZjBhOFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOiBcIlxcZjAxYVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDogXCJcXGYxOGVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA6IFwiXFxmMDFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcIlxcZjBhYVwiO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcIlxcZjA2M1wiO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXCJcXGYwNjFcIjtcbiRmYS12YXItYXJyb3ctdXA6IFwiXFxmMDYyXCI7XG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcbiRmYS12YXItYXJyb3dzLWFsdDogXCJcXGYwYjJcIjtcbiRmYS12YXItYXJyb3dzLWg6IFwiXFxmMDdlXCI7XG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xuJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFwiXFxmMmEyXCI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcIlxcZjA2OVwiO1xuJGZhLXZhci1hdDogXCJcXGYxZmFcIjtcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFwiXFxmMjllXCI7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWJhY2t3YXJkOiBcIlxcZjA0YVwiO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcIlxcZjI0ZVwiO1xuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcIlxcZjJkNVwiO1xuJGZhLXZhci1iYW5rOiBcIlxcZjE5Y1wiO1xuJGZhLXZhci1iYXItY2hhcnQ6IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhci1jaGFydC1vOiBcIlxcZjA4MFwiO1xuJGZhLXZhci1iYXJjb2RlOiBcIlxcZjAyYVwiO1xuJGZhLXZhci1iYXJzOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1iYXRoOiBcIlxcZjJjZFwiO1xuJGZhLXZhci1iYXRodHViOiBcIlxcZjJjZFwiO1xuJGZhLXZhci1iYXR0ZXJ5OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LTA6IFwiXFxmMjQ0XCI7XG4kZmEtdmFyLWJhdHRlcnktMTogXCJcXGYyNDNcIjtcbiRmYS12YXItYmF0dGVyeS0yOiBcIlxcZjI0MlwiO1xuJGZhLXZhci1iYXR0ZXJ5LTM6IFwiXFxmMjQxXCI7XG4kZmEtdmFyLWJhdHRlcnktNDogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXCJcXGYyNDNcIjtcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXCJcXGYyNDFcIjtcbiRmYS12YXItYmVkOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1iZWVyOiBcIlxcZjBmY1wiO1xuJGZhLXZhci1iZWhhbmNlOiBcIlxcZjFiNFwiO1xuJGZhLXZhci1iZWhhbmNlLXNxdWFyZTogXCJcXGYxYjVcIjtcbiRmYS12YXItYmVsbDogXCJcXGYwZjNcIjtcbiRmYS12YXItYmVsbC1vOiBcIlxcZjBhMlwiO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcIlxcZjFmNlwiO1xuJGZhLXZhci1iZWxsLXNsYXNoLW86IFwiXFxmMWY3XCI7XG4kZmEtdmFyLWJpY3ljbGU6IFwiXFxmMjA2XCI7XG4kZmEtdmFyLWJpbm9jdWxhcnM6IFwiXFxmMWU1XCI7XG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFwiXFxmMWZkXCI7XG4kZmEtdmFyLWJpdGJ1Y2tldDogXCJcXGYxNzFcIjtcbiRmYS12YXItYml0YnVja2V0LXNxdWFyZTogXCJcXGYxNzJcIjtcbiRmYS12YXItYml0Y29pbjogXCJcXGYxNWFcIjtcbiRmYS12YXItYmxhY2stdGllOiBcIlxcZjI3ZVwiO1xuJGZhLXZhci1ibGluZDogXCJcXGYyOWRcIjtcbiRmYS12YXItYmx1ZXRvb3RoOiBcIlxcZjI5M1wiO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXCJcXGYyOTRcIjtcbiRmYS12YXItYm9sZDogXCJcXGYwMzJcIjtcbiRmYS12YXItYm9sdDogXCJcXGYwZTdcIjtcbiRmYS12YXItYm9tYjogXCJcXGYxZTJcIjtcbiRmYS12YXItYm9vazogXCJcXGYwMmRcIjtcbiRmYS12YXItYm9va21hcms6IFwiXFxmMDJlXCI7XG4kZmEtdmFyLWJvb2ttYXJrLW86IFwiXFxmMDk3XCI7XG4kZmEtdmFyLWJyYWlsbGU6IFwiXFxmMmExXCI7XG4kZmEtdmFyLWJyaWVmY2FzZTogXCJcXGYwYjFcIjtcbiRmYS12YXItYnRjOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1idWc6IFwiXFxmMTg4XCI7XG4kZmEtdmFyLWJ1aWxkaW5nOiBcIlxcZjFhZFwiO1xuJGZhLXZhci1idWlsZGluZy1vOiBcIlxcZjBmN1wiO1xuJGZhLXZhci1idWxsaG9ybjogXCJcXGYwYTFcIjtcbiRmYS12YXItYnVsbHNleWU6IFwiXFxmMTQwXCI7XG4kZmEtdmFyLWJ1czogXCJcXGYyMDdcIjtcbiRmYS12YXItYnV5c2VsbGFkczogXCJcXGYyMGRcIjtcbiRmYS12YXItY2FiOiBcIlxcZjFiYVwiO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcIlxcZjFlY1wiO1xuJGZhLXZhci1jYWxlbmRhcjogXCJcXGYwNzNcIjtcbiRmYS12YXItY2FsZW5kYXItY2hlY2stbzogXCJcXGYyNzRcIjtcbiRmYS12YXItY2FsZW5kYXItbWludXMtbzogXCJcXGYyNzJcIjtcbiRmYS12YXItY2FsZW5kYXItbzogXCJcXGYxMzNcIjtcbiRmYS12YXItY2FsZW5kYXItcGx1cy1vOiBcIlxcZjI3MVwiO1xuJGZhLXZhci1jYWxlbmRhci10aW1lcy1vOiBcIlxcZjI3M1wiO1xuJGZhLXZhci1jYW1lcmE6IFwiXFxmMDMwXCI7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXCJcXGYwODNcIjtcbiRmYS12YXItY2FyOiBcIlxcZjFiOVwiO1xuJGZhLXZhci1jYXJldC1kb3duOiBcIlxcZjBkN1wiO1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcIlxcZjBkOVwiO1xuJGZhLXZhci1jYXJldC1yaWdodDogXCJcXGYwZGFcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tZG93bjogXCJcXGYxNTBcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOiBcIlxcZjE1MVwiO1xuJGZhLXZhci1jYXJldC11cDogXCJcXGYwZDhcIjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcIlxcZjIxOFwiO1xuJGZhLXZhci1jYXJ0LXBsdXM6IFwiXFxmMjE3XCI7XG4kZmEtdmFyLWNjOiBcIlxcZjIwYVwiO1xuJGZhLXZhci1jYy1hbWV4OiBcIlxcZjFmM1wiO1xuJGZhLXZhci1jYy1kaW5lcnMtY2x1YjogXCJcXGYyNGNcIjtcbiRmYS12YXItY2MtZGlzY292ZXI6IFwiXFxmMWYyXCI7XG4kZmEtdmFyLWNjLWpjYjogXCJcXGYyNGJcIjtcbiRmYS12YXItY2MtbWFzdGVyY2FyZDogXCJcXGYxZjFcIjtcbiRmYS12YXItY2MtcGF5cGFsOiBcIlxcZjFmNFwiO1xuJGZhLXZhci1jYy1zdHJpcGU6IFwiXFxmMWY1XCI7XG4kZmEtdmFyLWNjLXZpc2E6IFwiXFxmMWYwXCI7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcIlxcZjBhM1wiO1xuJGZhLXZhci1jaGFpbjogXCJcXGYwYzFcIjtcbiRmYS12YXItY2hhaW4tYnJva2VuOiBcIlxcZjEyN1wiO1xuJGZhLXZhci1jaGVjazogXCJcXGYwMGNcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcIlxcZjA1OFwiO1xuJGZhLXZhci1jaGVjay1jaXJjbGUtbzogXCJcXGYwNWRcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcIlxcZjE0YVwiO1xuJGZhLXZhci1jaGVjay1zcXVhcmUtbzogXCJcXGYwNDZcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXCJcXGYxM2FcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXCJcXGYxMzdcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ6IFwiXFxmMTM4XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcIlxcZjEzOVwiO1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFwiXFxmMDc4XCI7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXCJcXGYwNTNcIjtcbiRmYS12YXItY2hldnJvbi1yaWdodDogXCJcXGYwNTRcIjtcbiRmYS12YXItY2hldnJvbi11cDogXCJcXGYwNzdcIjtcbiRmYS12YXItY2hpbGQ6IFwiXFxmMWFlXCI7XG4kZmEtdmFyLWNocm9tZTogXCJcXGYyNjhcIjtcbiRmYS12YXItY2lyY2xlOiBcIlxcZjExMVwiO1xuJGZhLXZhci1jaXJjbGUtbzogXCJcXGYxMGNcIjtcbiRmYS12YXItY2lyY2xlLW8tbm90Y2g6IFwiXFxmMWNlXCI7XG4kZmEtdmFyLWNpcmNsZS10aGluOiBcIlxcZjFkYlwiO1xuJGZhLXZhci1jbGlwYm9hcmQ6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLWNsb2NrLW86IFwiXFxmMDE3XCI7XG4kZmEtdmFyLWNsb25lOiBcIlxcZjI0ZFwiO1xuJGZhLXZhci1jbG9zZTogXCJcXGYwMGRcIjtcbiRmYS12YXItY2xvdWQ6IFwiXFxmMGMyXCI7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkOiBcIlxcZjBlZFwiO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFwiXFxmMGVlXCI7XG4kZmEtdmFyLWNueTogXCJcXGYxNTdcIjtcbiRmYS12YXItY29kZTogXCJcXGYxMjFcIjtcbiRmYS12YXItY29kZS1mb3JrOiBcIlxcZjEyNlwiO1xuJGZhLXZhci1jb2RlcGVuOiBcIlxcZjFjYlwiO1xuJGZhLXZhci1jb2RpZXBpZTogXCJcXGYyODRcIjtcbiRmYS12YXItY29mZmVlOiBcIlxcZjBmNFwiO1xuJGZhLXZhci1jb2c6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWNvbHVtbnM6IFwiXFxmMGRiXCI7XG4kZmEtdmFyLWNvbW1lbnQ6IFwiXFxmMDc1XCI7XG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcbiRmYS12YXItY29tbWVudGluZzogXCJcXGYyN2FcIjtcbiRmYS12YXItY29tbWVudGluZy1vOiBcIlxcZjI3YlwiO1xuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcbiRmYS12YXItY29tbWVudHMtbzogXCJcXGYwZTZcIjtcbiRmYS12YXItY29tcGFzczogXCJcXGYxNGVcIjtcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcIlxcZjIwZVwiO1xuJGZhLXZhci1jb250YW86IFwiXFxmMjZkXCI7XG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWNvcHlyaWdodDogXCJcXGYxZjlcIjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXCJcXGYyNWVcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDogXCJcXGYyODNcIjtcbiRmYS12YXItY3JvcDogXCJcXGYxMjVcIjtcbiRmYS12YXItY3Jvc3NoYWlyczogXCJcXGYwNWJcIjtcbiRmYS12YXItY3NzMzogXCJcXGYxM2NcIjtcbiRmYS12YXItY3ViZTogXCJcXGYxYjJcIjtcbiRmYS12YXItY3ViZXM6IFwiXFxmMWIzXCI7XG4kZmEtdmFyLWN1dDogXCJcXGYwYzRcIjtcbiRmYS12YXItY3V0bGVyeTogXCJcXGYwZjVcIjtcbiRmYS12YXItZGFzaGJvYXJkOiBcIlxcZjBlNFwiO1xuJGZhLXZhci1kYXNoY3ViZTogXCJcXGYyMTBcIjtcbiRmYS12YXItZGF0YWJhc2U6IFwiXFxmMWMwXCI7XG4kZmEtdmFyLWRlYWY6IFwiXFxmMmE0XCI7XG4kZmEtdmFyLWRlYWZuZXNzOiBcIlxcZjJhNFwiO1xuJGZhLXZhci1kZWRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcbiRmYS12YXItZGVza3RvcDogXCJcXGYxMDhcIjtcbiRmYS12YXItZGV2aWFudGFydDogXCJcXGYxYmRcIjtcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcbiRmYS12YXItZGlnZzogXCJcXGYxYTZcIjtcbiRmYS12YXItZG9sbGFyOiBcIlxcZjE1NVwiO1xuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XG4kZmEtdmFyLWRvd25sb2FkOiBcIlxcZjAxOVwiO1xuJGZhLXZhci1kcmliYmJsZTogXCJcXGYxN2RcIjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlOiBcIlxcZjJjMlwiO1xuJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2UtbzogXCJcXGYyYzNcIjtcbiRmYS12YXItZHJvcGJveDogXCJcXGYxNmJcIjtcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xuJGZhLXZhci1lZGdlOiBcIlxcZjI4MlwiO1xuJGZhLXZhci1lZGl0OiBcIlxcZjA0NFwiO1xuJGZhLXZhci1lZXJjYXN0OiBcIlxcZjJkYVwiO1xuJGZhLXZhci1lamVjdDogXCJcXGYwNTJcIjtcbiRmYS12YXItZWxsaXBzaXMtaDogXCJcXGYxNDFcIjtcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcbiRmYS12YXItZW1waXJlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1lbnZlbG9wZTogXCJcXGYwZTBcIjtcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXCJcXGYyYjZcIjtcbiRmYS12YXItZW52ZWxvcGUtb3Blbi1vOiBcIlxcZjJiN1wiO1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFwiXFxmMTk5XCI7XG4kZmEtdmFyLWVudmlyYTogXCJcXGYyOTlcIjtcbiRmYS12YXItZXJhc2VyOiBcIlxcZjEyZFwiO1xuJGZhLXZhci1ldHN5OiBcIlxcZjJkN1wiO1xuJGZhLXZhci1ldXI6IFwiXFxmMTUzXCI7XG4kZmEtdmFyLWV1cm86IFwiXFxmMTUzXCI7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcIlxcZjBlY1wiO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXCJcXGYxMmFcIjtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcIlxcZjA2YVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXCJcXGYwNzFcIjtcbiRmYS12YXItZXhwYW5kOiBcIlxcZjA2NVwiO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFwiXFxmMjNlXCI7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFwiXFxmMDhlXCI7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOiBcIlxcZjE0Y1wiO1xuJGZhLXZhci1leWU6IFwiXFxmMDZlXCI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXCJcXGYwNzBcIjtcbiRmYS12YXItZXllZHJvcHBlcjogXCJcXGYxZmJcIjtcbiRmYS12YXItZmE6IFwiXFxmMmI0XCI7XG4kZmEtdmFyLWZhY2Vib29rOiBcIlxcZjA5YVwiO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcIlxcZjA5YVwiO1xuJGZhLXZhci1mYWNlYm9vay1vZmZpY2lhbDogXCJcXGYyMzBcIjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcIlxcZjA4MlwiO1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcIlxcZjA0OVwiO1xuJGZhLXZhci1mYXN0LWZvcndhcmQ6IFwiXFxmMDUwXCI7XG4kZmEtdmFyLWZheDogXCJcXGYxYWNcIjtcbiRmYS12YXItZmVlZDogXCJcXGYwOWVcIjtcbiRmYS12YXItZmVtYWxlOiBcIlxcZjE4MlwiO1xuJGZhLXZhci1maWdodGVyLWpldDogXCJcXGYwZmJcIjtcbiRmYS12YXItZmlsZTogXCJcXGYxNWJcIjtcbiRmYS12YXItZmlsZS1hcmNoaXZlLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGUtYXVkaW8tbzogXCJcXGYxYzdcIjtcbiRmYS12YXItZmlsZS1jb2RlLW86IFwiXFxmMWM5XCI7XG4kZmEtdmFyLWZpbGUtZXhjZWwtbzogXCJcXGYxYzNcIjtcbiRmYS12YXItZmlsZS1pbWFnZS1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLW1vdmllLW86IFwiXFxmMWM4XCI7XG4kZmEtdmFyLWZpbGUtbzogXCJcXGYwMTZcIjtcbiRmYS12YXItZmlsZS1wZGYtbzogXCJcXGYxYzFcIjtcbiRmYS12YXItZmlsZS1waG90by1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLXBpY3R1cmUtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50LW86IFwiXFxmMWM0XCI7XG4kZmEtdmFyLWZpbGUtc291bmQtbzogXCJcXGYxYzdcIjtcbiRmYS12YXItZmlsZS10ZXh0OiBcIlxcZjE1Y1wiO1xuJGZhLXZhci1maWxlLXRleHQtbzogXCJcXGYwZjZcIjtcbiRmYS12YXItZmlsZS12aWRlby1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLXdvcmQtbzogXCJcXGYxYzJcIjtcbiRmYS12YXItZmlsZS16aXAtbzogXCJcXGYxYzZcIjtcbiRmYS12YXItZmlsZXMtbzogXCJcXGYwYzVcIjtcbiRmYS12YXItZmlsbTogXCJcXGYwMDhcIjtcbiRmYS12YXItZmlsdGVyOiBcIlxcZjBiMFwiO1xuJGZhLXZhci1maXJlOiBcIlxcZjA2ZFwiO1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXCJcXGYxMzRcIjtcbiRmYS12YXItZmlyZWZveDogXCJcXGYyNjlcIjtcbiRmYS12YXItZmlyc3Qtb3JkZXI6IFwiXFxmMmIwXCI7XG4kZmEtdmFyLWZsYWc6IFwiXFxmMDI0XCI7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xuJGZhLXZhci1mbGFnLW86IFwiXFxmMTFkXCI7XG4kZmEtdmFyLWZsYXNoOiBcIlxcZjBlN1wiO1xuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcbiRmYS12YXItZmxpY2tyOiBcIlxcZjE2ZVwiO1xuJGZhLXZhci1mbG9wcHktbzogXCJcXGYwYzdcIjtcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xuJGZhLXZhci1mb2xkZXItbzogXCJcXGYxMTRcIjtcbiRmYS12YXItZm9sZGVyLW9wZW46IFwiXFxmMDdjXCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XG4kZmEtdmFyLWZvbnQ6IFwiXFxmMDMxXCI7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXCJcXGYyYjRcIjtcbiRmYS12YXItZm9udGljb25zOiBcIlxcZjI4MFwiO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFwiXFxmMjg2XCI7XG4kZmEtdmFyLWZvcnVtYmVlOiBcIlxcZjIxMVwiO1xuJGZhLXZhci1mb3J3YXJkOiBcIlxcZjA0ZVwiO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcIlxcZjE4MFwiO1xuJGZhLXZhci1mcmVlLWNvZGUtY2FtcDogXCJcXGYyYzVcIjtcbiRmYS12YXItZnJvd24tbzogXCJcXGYxMTlcIjtcbiRmYS12YXItZnV0Ym9sLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLWdhbWVwYWQ6IFwiXFxmMTFiXCI7XG4kZmEtdmFyLWdhdmVsOiBcIlxcZjBlM1wiO1xuJGZhLXZhci1nYnA6IFwiXFxmMTU0XCI7XG4kZmEtdmFyLWdlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1nZWFyOiBcIlxcZjAxM1wiO1xuJGZhLXZhci1nZWFyczogXCJcXGYwODVcIjtcbiRmYS12YXItZ2VuZGVybGVzczogXCJcXGYyMmRcIjtcbiRmYS12YXItZ2V0LXBvY2tldDogXCJcXGYyNjVcIjtcbiRmYS12YXItZ2c6IFwiXFxmMjYwXCI7XG4kZmEtdmFyLWdnLWNpcmNsZTogXCJcXGYyNjFcIjtcbiRmYS12YXItZ2lmdDogXCJcXGYwNmJcIjtcbiRmYS12YXItZ2l0OiBcIlxcZjFkM1wiO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcIlxcZjFkMlwiO1xuJGZhLXZhci1naXRodWI6IFwiXFxmMDliXCI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFwiXFxmMTEzXCI7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFwiXFxmMDkyXCI7XG4kZmEtdmFyLWdpdGxhYjogXCJcXGYyOTZcIjtcbiRmYS12YXItZ2l0dGlwOiBcIlxcZjE4NFwiO1xuJGZhLXZhci1nbGFzczogXCJcXGYwMDBcIjtcbiRmYS12YXItZ2xpZGU6IFwiXFxmMmE1XCI7XG4kZmEtdmFyLWdsaWRlLWc6IFwiXFxmMmE2XCI7XG4kZmEtdmFyLWdsb2JlOiBcIlxcZjBhY1wiO1xuJGZhLXZhci1nb29nbGU6IFwiXFxmMWEwXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcIlxcZjBkNVwiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1jaXJjbGU6IFwiXFxmMmIzXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOiBcIlxcZjJiM1wiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFwiXFxmMGQ0XCI7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFwiXFxmMWVlXCI7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcIlxcZjE5ZFwiO1xuJGZhLXZhci1ncmF0aXBheTogXCJcXGYxODRcIjtcbiRmYS12YXItZ3JhdjogXCJcXGYyZDZcIjtcbiRmYS12YXItZ3JvdXA6IFwiXFxmMGMwXCI7XG4kZmEtdmFyLWgtc3F1YXJlOiBcIlxcZjBmZFwiO1xuJGZhLXZhci1oYWNrZXItbmV3czogXCJcXGYxZDRcIjtcbiRmYS12YXItaGFuZC1ncmFiLW86IFwiXFxmMjU1XCI7XG4kZmEtdmFyLWhhbmQtbGl6YXJkLW86IFwiXFxmMjU4XCI7XG4kZmEtdmFyLWhhbmQtby1kb3duOiBcIlxcZjBhN1wiO1xuJGZhLXZhci1oYW5kLW8tbGVmdDogXCJcXGYwYTVcIjtcbiRmYS12YXItaGFuZC1vLXJpZ2h0OiBcIlxcZjBhNFwiO1xuJGZhLXZhci1oYW5kLW8tdXA6IFwiXFxmMGE2XCI7XG4kZmEtdmFyLWhhbmQtcGFwZXItbzogXCJcXGYyNTZcIjtcbiRmYS12YXItaGFuZC1wZWFjZS1vOiBcIlxcZjI1YlwiO1xuJGZhLXZhci1oYW5kLXBvaW50ZXItbzogXCJcXGYyNWFcIjtcbiRmYS12YXItaGFuZC1yb2NrLW86IFwiXFxmMjU1XCI7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzogXCJcXGYyNTdcIjtcbiRmYS12YXItaGFuZC1zcG9jay1vOiBcIlxcZjI1OVwiO1xuJGZhLXZhci1oYW5kLXN0b3AtbzogXCJcXGYyNTZcIjtcbiRmYS12YXItaGFuZHNoYWtlLW86IFwiXFxmMmI1XCI7XG4kZmEtdmFyLWhhcmQtb2YtaGVhcmluZzogXCJcXGYyYTRcIjtcbiRmYS12YXItaGFzaHRhZzogXCJcXGYyOTJcIjtcbiRmYS12YXItaGRkLW86IFwiXFxmMGEwXCI7XG4kZmEtdmFyLWhlYWRlcjogXCJcXGYxZGNcIjtcbiRmYS12YXItaGVhZHBob25lczogXCJcXGYwMjVcIjtcbiRmYS12YXItaGVhcnQ6IFwiXFxmMDA0XCI7XG4kZmEtdmFyLWhlYXJ0LW86IFwiXFxmMDhhXCI7XG4kZmEtdmFyLWhlYXJ0YmVhdDogXCJcXGYyMWVcIjtcbiRmYS12YXItaGlzdG9yeTogXCJcXGYxZGFcIjtcbiRmYS12YXItaG9tZTogXCJcXGYwMTVcIjtcbiRmYS12YXItaG9zcGl0YWwtbzogXCJcXGYwZjhcIjtcbiRmYS12YXItaG90ZWw6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWhvdXJnbGFzczogXCJcXGYyNTRcIjtcbiRmYS12YXItaG91cmdsYXNzLTE6IFwiXFxmMjUxXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0yOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMzogXCJcXGYyNTNcIjtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXCJcXGYyNTNcIjtcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFwiXFxmMjUyXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1vOiBcIlxcZjI1MFwiO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFwiXFxmMjUxXCI7XG4kZmEtdmFyLWhvdXp6OiBcIlxcZjI3Y1wiO1xuJGZhLXZhci1odG1sNTogXCJcXGYxM2JcIjtcbiRmYS12YXItaS1jdXJzb3I6IFwiXFxmMjQ2XCI7XG4kZmEtdmFyLWlkLWJhZGdlOiBcIlxcZjJjMVwiO1xuJGZhLXZhci1pZC1jYXJkOiBcIlxcZjJjMlwiO1xuJGZhLXZhci1pZC1jYXJkLW86IFwiXFxmMmMzXCI7XG4kZmEtdmFyLWlsczogXCJcXGYyMGJcIjtcbiRmYS12YXItaW1hZ2U6IFwiXFxmMDNlXCI7XG4kZmEtdmFyLWltZGI6IFwiXFxmMmQ4XCI7XG4kZmEtdmFyLWluYm94OiBcIlxcZjAxY1wiO1xuJGZhLXZhci1pbmRlbnQ6IFwiXFxmMDNjXCI7XG4kZmEtdmFyLWluZHVzdHJ5OiBcIlxcZjI3NVwiO1xuJGZhLXZhci1pbmZvOiBcIlxcZjEyOVwiO1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXCJcXGYwNWFcIjtcbiRmYS12YXItaW5yOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1pbnN0YWdyYW06IFwiXFxmMTZkXCI7XG4kZmEtdmFyLWluc3RpdHV0aW9uOiBcIlxcZjE5Y1wiO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXCJcXGYyNmJcIjtcbiRmYS12YXItaW50ZXJzZXg6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLWlveGhvc3Q6IFwiXFxmMjA4XCI7XG4kZmEtdmFyLWl0YWxpYzogXCJcXGYwMzNcIjtcbiRmYS12YXItam9vbWxhOiBcIlxcZjFhYVwiO1xuJGZhLXZhci1qcHk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWpzZmlkZGxlOiBcIlxcZjFjY1wiO1xuJGZhLXZhci1rZXk6IFwiXFxmMDg0XCI7XG4kZmEtdmFyLWtleWJvYXJkLW86IFwiXFxmMTFjXCI7XG4kZmEtdmFyLWtydzogXCJcXGYxNTlcIjtcbiRmYS12YXItbGFuZ3VhZ2U6IFwiXFxmMWFiXCI7XG4kZmEtdmFyLWxhcHRvcDogXCJcXGYxMDlcIjtcbiRmYS12YXItbGFzdGZtOiBcIlxcZjIwMlwiO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcIlxcZjIwM1wiO1xuJGZhLXZhci1sZWFmOiBcIlxcZjA2Y1wiO1xuJGZhLXZhci1sZWFucHViOiBcIlxcZjIxMlwiO1xuJGZhLXZhci1sZWdhbDogXCJcXGYwZTNcIjtcbiRmYS12YXItbGVtb24tbzogXCJcXGYwOTRcIjtcbiRmYS12YXItbGV2ZWwtZG93bjogXCJcXGYxNDlcIjtcbiRmYS12YXItbGV2ZWwtdXA6IFwiXFxmMTQ4XCI7XG4kZmEtdmFyLWxpZmUtYm91eTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1idW95OiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXJpbmc6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtc2F2ZXI6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZ2h0YnVsYi1vOiBcIlxcZjBlYlwiO1xuJGZhLXZhci1saW5lLWNoYXJ0OiBcIlxcZjIwMVwiO1xuJGZhLXZhci1saW5rOiBcIlxcZjBjMVwiO1xuJGZhLXZhci1saW5rZWRpbjogXCJcXGYwZTFcIjtcbiRmYS12YXItbGlua2VkaW4tc3F1YXJlOiBcIlxcZjA4Y1wiO1xuJGZhLXZhci1saW5vZGU6IFwiXFxmMmI4XCI7XG4kZmEtdmFyLWxpbnV4OiBcIlxcZjE3Y1wiO1xuJGZhLXZhci1saXN0OiBcIlxcZjAzYVwiO1xuJGZhLXZhci1saXN0LWFsdDogXCJcXGYwMjJcIjtcbiRmYS12YXItbGlzdC1vbDogXCJcXGYwY2JcIjtcbiRmYS12YXItbGlzdC11bDogXCJcXGYwY2FcIjtcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFwiXFxmMTI0XCI7XG4kZmEtdmFyLWxvY2s6IFwiXFxmMDIzXCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXCJcXGYxNzVcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OiBcIlxcZjE3N1wiO1xuJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OiBcIlxcZjE3OFwiO1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcIlxcZjE3NlwiO1xuJGZhLXZhci1sb3ctdmlzaW9uOiBcIlxcZjJhOFwiO1xuJGZhLXZhci1tYWdpYzogXCJcXGYwZDBcIjtcbiRmYS12YXItbWFnbmV0OiBcIlxcZjA3NlwiO1xuJGZhLXZhci1tYWlsLWZvcndhcmQ6IFwiXFxmMDY0XCI7XG4kZmEtdmFyLW1haWwtcmVwbHk6IFwiXFxmMTEyXCI7XG4kZmEtdmFyLW1haWwtcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1tYWxlOiBcIlxcZjE4M1wiO1xuJGZhLXZhci1tYXA6IFwiXFxmMjc5XCI7XG4kZmEtdmFyLW1hcC1tYXJrZXI6IFwiXFxmMDQxXCI7XG4kZmEtdmFyLW1hcC1vOiBcIlxcZjI3OFwiO1xuJGZhLXZhci1tYXAtcGluOiBcIlxcZjI3NlwiO1xuJGZhLXZhci1tYXAtc2lnbnM6IFwiXFxmMjc3XCI7XG4kZmEtdmFyLW1hcnM6IFwiXFxmMjIyXCI7XG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcIlxcZjIyN1wiO1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXCJcXGYyMjlcIjtcbiRmYS12YXItbWFycy1zdHJva2UtaDogXCJcXGYyMmJcIjtcbiRmYS12YXItbWFycy1zdHJva2UtdjogXCJcXGYyMmFcIjtcbiRmYS12YXItbWF4Y2RuOiBcIlxcZjEzNlwiO1xuJGZhLXZhci1tZWFucGF0aDogXCJcXGYyMGNcIjtcbiRmYS12YXItbWVkaXVtOiBcIlxcZjIzYVwiO1xuJGZhLXZhci1tZWRraXQ6IFwiXFxmMGZhXCI7XG4kZmEtdmFyLW1lZXR1cDogXCJcXGYyZTBcIjtcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XG4kZmEtdmFyLW1lcmN1cnk6IFwiXFxmMjIzXCI7XG4kZmEtdmFyLW1pY3JvY2hpcDogXCJcXGYyZGJcIjtcbiRmYS12YXItbWljcm9waG9uZTogXCJcXGYxMzBcIjtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXCJcXGYxMzFcIjtcbiRmYS12YXItbWludXM6IFwiXFxmMDY4XCI7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXCJcXGYwNTZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcIlxcZjE0NlwiO1xuJGZhLXZhci1taW51cy1zcXVhcmUtbzogXCJcXGYxNDdcIjtcbiRmYS12YXItbWl4Y2xvdWQ6IFwiXFxmMjg5XCI7XG4kZmEtdmFyLW1vYmlsZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb2R4OiBcIlxcZjI4NVwiO1xuJGZhLXZhci1tb25leTogXCJcXGYwZDZcIjtcbiRmYS12YXItbW9vbi1vOiBcIlxcZjE4NlwiO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFwiXFxmMjFjXCI7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFwiXFxmMjQ1XCI7XG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xuJGZhLXZhci1uYXZpY29uOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1uZXV0ZXI6IFwiXFxmMjJjXCI7XG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFwiXFxmMjQ3XCI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcIlxcZjI0OFwiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXCJcXGYyNjRcIjtcbiRmYS12YXItb3BlbmNhcnQ6IFwiXFxmMjNkXCI7XG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcbiRmYS12YXItb3BlcmE6IFwiXFxmMjZhXCI7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFwiXFxmMjNjXCI7XG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLXBhZ2VsaW5lczogXCJcXGYxOGNcIjtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFwiXFxmMWZjXCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1wYXBlci1wbGFuZS1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1wYXBlcmNsaXA6IFwiXFxmMGM2XCI7XG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcbiRmYS12YXItcGFzdGU6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLXBhdXNlOiBcIlxcZjA0Y1wiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFwiXFxmMjhiXCI7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZS1vOiBcIlxcZjI4Y1wiO1xuJGZhLXZhci1wYXc6IFwiXFxmMWIwXCI7XG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcbiRmYS12YXItcGVuY2lsOiBcIlxcZjA0MFwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcIlxcZjE0YlwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLXBlcmNlbnQ6IFwiXFxmMjk1XCI7XG4kZmEtdmFyLXBob25lOiBcIlxcZjA5NVwiO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XG4kZmEtdmFyLXBob3RvOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWN0dXJlLW86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcbiRmYS12YXItcGllZC1waXBlcjogXCJcXGYyYWVcIjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFwiXFxmMWE4XCI7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFwiXFxmMWE3XCI7XG4kZmEtdmFyLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRmYS12YXItcGludGVyZXN0LXA6IFwiXFxmMjMxXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XG4kZmEtdmFyLXBsYW5lOiBcIlxcZjA3MlwiO1xuJGZhLXZhci1wbGF5OiBcIlxcZjA0YlwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcbiRmYS12YXItcGxheS1jaXJjbGUtbzogXCJcXGYwMWRcIjtcbiRmYS12YXItcGx1ZzogXCJcXGYxZTZcIjtcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFwiXFxmMDU1XCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcIlxcZjBmZVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xuJGZhLXZhci1wb2RjYXN0OiBcIlxcZjJjZVwiO1xuJGZhLXZhci1wb3dlci1vZmY6IFwiXFxmMDExXCI7XG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFwiXFxmMjg4XCI7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXCJcXGYxMmVcIjtcbiRmYS12YXItcXE6IFwiXFxmMWQ2XCI7XG4kZmEtdmFyLXFyY29kZTogXCJcXGYwMjlcIjtcbiRmYS12YXItcXVlc3Rpb246IFwiXFxmMTI4XCI7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXCJcXGYwNTlcIjtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlLW86IFwiXFxmMjljXCI7XG4kZmEtdmFyLXF1b3JhOiBcIlxcZjJjNFwiO1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcIlxcZjEwZFwiO1xuJGZhLXZhci1xdW90ZS1yaWdodDogXCJcXGYxMGVcIjtcbiRmYS12YXItcmE6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJhbmRvbTogXCJcXGYwNzRcIjtcbiRmYS12YXItcmF2ZWxyeTogXCJcXGYyZDlcIjtcbiRmYS12YXItcmViZWw6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJlY3ljbGU6IFwiXFxmMWI4XCI7XG4kZmEtdmFyLXJlZGRpdDogXCJcXGYxYTFcIjtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcIlxcZjI4MVwiO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xuJGZhLXZhci1yZWZyZXNoOiBcIlxcZjAyMVwiO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcIlxcZjI1ZFwiO1xuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXJlbnJlbjogXCJcXGYxOGJcIjtcbiRmYS12YXItcmVvcmRlcjogXCJcXGYwYzlcIjtcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1yZXNpc3RhbmNlOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yZXR3ZWV0OiBcIlxcZjA3OVwiO1xuJGZhLXZhci1ybWI6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XG4kZmEtdmFyLXJvY2tldDogXCJcXGYxMzVcIjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcbiRmYS12YXItcm91YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1yc3M6IFwiXFxmMDllXCI7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XG4kZmEtdmFyLXJ1YjogXCJcXGYxNThcIjtcbiRmYS12YXItcnVibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1zMTU6IFwiXFxmMmNkXCI7XG4kZmEtdmFyLXNhZmFyaTogXCJcXGYyNjdcIjtcbiRmYS12YXItc2F2ZTogXCJcXGYwYzdcIjtcbiRmYS12YXItc2Npc3NvcnM6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLXNjcmliZDogXCJcXGYyOGFcIjtcbiRmYS12YXItc2VhcmNoOiBcIlxcZjAwMlwiO1xuJGZhLXZhci1zZWFyY2gtbWludXM6IFwiXFxmMDEwXCI7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcIlxcZjAwZVwiO1xuJGZhLXZhci1zZWxsc3k6IFwiXFxmMjEzXCI7XG4kZmEtdmFyLXNlbmQ6IFwiXFxmMWQ4XCI7XG4kZmEtdmFyLXNlbmQtbzogXCJcXGYxZDlcIjtcbiRmYS12YXItc2VydmVyOiBcIlxcZjIzM1wiO1xuJGZhLXZhci1zaGFyZTogXCJcXGYwNjRcIjtcbiRmYS12YXItc2hhcmUtYWx0OiBcIlxcZjFlMFwiO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcIlxcZjFlMVwiO1xuJGZhLXZhci1zaGFyZS1zcXVhcmU6IFwiXFxmMTRkXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZS1vOiBcIlxcZjA0NVwiO1xuJGZhLXZhci1zaGVrZWw6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLXNoZXFlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hpZWxkOiBcIlxcZjEzMlwiO1xuJGZhLXZhci1zaGlwOiBcIlxcZjIxYVwiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFwiXFxmMjE0XCI7XG4kZmEtdmFyLXNob3BwaW5nLWJhZzogXCJcXGYyOTBcIjtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcIlxcZjI5MVwiO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcIlxcZjA3YVwiO1xuJGZhLXZhci1zaG93ZXI6IFwiXFxmMmNjXCI7XG4kZmEtdmFyLXNpZ24taW46IFwiXFxmMDkwXCI7XG4kZmEtdmFyLXNpZ24tbGFuZ3VhZ2U6IFwiXFxmMmE3XCI7XG4kZmEtdmFyLXNpZ24tb3V0OiBcIlxcZjA4YlwiO1xuJGZhLXZhci1zaWduYWw6IFwiXFxmMDEyXCI7XG4kZmEtdmFyLXNpZ25pbmc6IFwiXFxmMmE3XCI7XG4kZmEtdmFyLXNpbXBseWJ1aWx0OiBcIlxcZjIxNVwiO1xuJGZhLXZhci1zaXRlbWFwOiBcIlxcZjBlOFwiO1xuJGZhLXZhci1za3lhdGxhczogXCJcXGYyMTZcIjtcbiRmYS12YXItc2t5cGU6IFwiXFxmMTdlXCI7XG4kZmEtdmFyLXNsYWNrOiBcIlxcZjE5OFwiO1xuJGZhLXZhci1zbGlkZXJzOiBcIlxcZjFkZVwiO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcIlxcZjFlN1wiO1xuJGZhLXZhci1zbWlsZS1vOiBcIlxcZjExOFwiO1xuJGZhLXZhci1zbmFwY2hhdDogXCJcXGYyYWJcIjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFwiXFxmMmFjXCI7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXCJcXGYyYWRcIjtcbiRmYS12YXItc25vd2ZsYWtlLW86IFwiXFxmMmRjXCI7XG4kZmEtdmFyLXNvY2Nlci1iYWxsLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcIlxcZjE1ZFwiO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFwiXFxmMTVlXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXCJcXGYxNjFcIjtcbiRmYS12YXItc29ydC1hc2M6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1kb3duOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcIlxcZjE2MlwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcbiRmYS12YXItc29ydC11cDogXCJcXGYwZGVcIjtcbiRmYS12YXItc291bmRjbG91ZDogXCJcXGYxYmVcIjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcbiRmYS12YXItc3Bpbm5lcjogXCJcXGYxMTBcIjtcbiRmYS12YXItc3Bvb246IFwiXFxmMWIxXCI7XG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XG4kZmEtdmFyLXNxdWFyZTogXCJcXGYwYzhcIjtcbiRmYS12YXItc3F1YXJlLW86IFwiXFxmMDk2XCI7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXCJcXGYxNmNcIjtcbiRmYS12YXItc3RhcjogXCJcXGYwMDVcIjtcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xuJGZhLXZhci1zdGFyLWhhbGYtZW1wdHk6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1mdWxsOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1vOiBcIlxcZjAwNlwiO1xuJGZhLXZhci1zdGVhbTogXCJcXGYxYjZcIjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcIlxcZjA0OFwiO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFwiXFxmMDUxXCI7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZTogXCJcXGYyNDlcIjtcbiRmYS12YXItc3RpY2t5LW5vdGUtbzogXCJcXGYyNGFcIjtcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFwiXFxmMjhkXCI7XG4kZmEtdmFyLXN0b3AtY2lyY2xlLW86IFwiXFxmMjhlXCI7XG4kZmEtdmFyLXN0cmVldC12aWV3OiBcIlxcZjIxZFwiO1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcIlxcZjBjY1wiO1xuJGZhLXZhci1zdHVtYmxldXBvbjogXCJcXGYxYTRcIjtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcIlxcZjFhM1wiO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFwiXFxmMTJjXCI7XG4kZmEtdmFyLXN1YndheTogXCJcXGYyMzlcIjtcbiRmYS12YXItc3VpdGNhc2U6IFwiXFxmMGYyXCI7XG4kZmEtdmFyLXN1bi1vOiBcIlxcZjE4NVwiO1xuJGZhLXZhci1zdXBlcnBvd2VyczogXCJcXGYyZGRcIjtcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFwiXFxmMTJiXCI7XG4kZmEtdmFyLXN1cHBvcnQ6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLXRhYmxlOiBcIlxcZjBjZVwiO1xuJGZhLXZhci10YWJsZXQ6IFwiXFxmMTBhXCI7XG4kZmEtdmFyLXRhY2hvbWV0ZXI6IFwiXFxmMGU0XCI7XG4kZmEtdmFyLXRhZzogXCJcXGYwMmJcIjtcbiRmYS12YXItdGFnczogXCJcXGYwMmNcIjtcbiRmYS12YXItdGFza3M6IFwiXFxmMGFlXCI7XG4kZmEtdmFyLXRheGk6IFwiXFxmMWJhXCI7XG4kZmEtdmFyLXRlbGVncmFtOiBcIlxcZjJjNlwiO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcIlxcZjFkNVwiO1xuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFwiXFxmMDM1XCI7XG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xuJGZhLXZhci10aC1sYXJnZTogXCJcXGYwMDlcIjtcbiRmYS12YXItdGgtbGlzdDogXCJcXGYwMGJcIjtcbiRmYS12YXItdGhlbWVpc2xlOiBcIlxcZjJiMlwiO1xuJGZhLXZhci10aGVybW9tZXRlcjogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMDogXCJcXGYyY2JcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMTogXCJcXGYyY2FcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMjogXCJcXGYyYzlcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMzogXCJcXGYyYzhcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItNDogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFwiXFxmMmNiXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFwiXFxmMmM5XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFwiXFxmMmNhXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjJjOFwiO1xuJGZhLXZhci10aHVtYi10YWNrOiBcIlxcZjA4ZFwiO1xuJGZhLXZhci10aHVtYnMtZG93bjogXCJcXGYxNjVcIjtcbiRmYS12YXItdGh1bWJzLW8tZG93bjogXCJcXGYwODhcIjtcbiRmYS12YXItdGh1bWJzLW8tdXA6IFwiXFxmMDg3XCI7XG4kZmEtdmFyLXRodW1icy11cDogXCJcXGYxNjRcIjtcbiRmYS12YXItdGlja2V0OiBcIlxcZjE0NVwiO1xuJGZhLXZhci10aW1lczogXCJcXGYwMGRcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcIlxcZjA1N1wiO1xuJGZhLXZhci10aW1lcy1jaXJjbGUtbzogXCJcXGYwNWNcIjtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlOiBcIlxcZjJkM1wiO1xuJGZhLXZhci10aW1lcy1yZWN0YW5nbGUtbzogXCJcXGYyZDRcIjtcbiRmYS12YXItdGludDogXCJcXGYwNDNcIjtcbiRmYS12YXItdG9nZ2xlLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLXRvZ2dsZS1sZWZ0OiBcIlxcZjE5MVwiO1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcIlxcZjIwNFwiO1xuJGZhLXZhci10b2dnbGUtb246IFwiXFxmMjA1XCI7XG4kZmEtdmFyLXRvZ2dsZS1yaWdodDogXCJcXGYxNTJcIjtcbiRmYS12YXItdG9nZ2xlLXVwOiBcIlxcZjE1MVwiO1xuJGZhLXZhci10cmFkZW1hcms6IFwiXFxmMjVjXCI7XG4kZmEtdmFyLXRyYWluOiBcIlxcZjIzOFwiO1xuJGZhLXZhci10cmFuc2dlbmRlcjogXCJcXGYyMjRcIjtcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcIlxcZjIyNVwiO1xuJGZhLXZhci10cmFzaDogXCJcXGYxZjhcIjtcbiRmYS12YXItdHJhc2gtbzogXCJcXGYwMTRcIjtcbiRmYS12YXItdHJlZTogXCJcXGYxYmJcIjtcbiRmYS12YXItdHJlbGxvOiBcIlxcZjE4MVwiO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXCJcXGYyNjJcIjtcbiRmYS12YXItdHJvcGh5OiBcIlxcZjA5MVwiO1xuJGZhLXZhci10cnVjazogXCJcXGYwZDFcIjtcbiRmYS12YXItdHJ5OiBcIlxcZjE5NVwiO1xuJGZhLXZhci10dHk6IFwiXFxmMWU0XCI7XG4kZmEtdmFyLXR1bWJscjogXCJcXGYxNzNcIjtcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXCJcXGYxNzRcIjtcbiRmYS12YXItdHVya2lzaC1saXJhOiBcIlxcZjE5NVwiO1xuJGZhLXZhci10djogXCJcXGYyNmNcIjtcbiRmYS12YXItdHdpdGNoOiBcIlxcZjFlOFwiO1xuJGZhLXZhci10d2l0dGVyOiBcIlxcZjA5OVwiO1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXCJcXGYwODFcIjtcbiRmYS12YXItdW1icmVsbGE6IFwiXFxmMGU5XCI7XG4kZmEtdmFyLXVuZGVybGluZTogXCJcXGYwY2RcIjtcbiRmYS12YXItdW5kbzogXCJcXGYwZTJcIjtcbiRmYS12YXItdW5pdmVyc2FsLWFjY2VzczogXCJcXGYyOWFcIjtcbiRmYS12YXItdW5pdmVyc2l0eTogXCJcXGYxOWNcIjtcbiRmYS12YXItdW5saW5rOiBcIlxcZjEyN1wiO1xuJGZhLXZhci11bmxvY2s6IFwiXFxmMDljXCI7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFwiXFxmMTNlXCI7XG4kZmEtdmFyLXVuc29ydGVkOiBcIlxcZjBkY1wiO1xuJGZhLXZhci11cGxvYWQ6IFwiXFxmMDkzXCI7XG4kZmEtdmFyLXVzYjogXCJcXGYyODdcIjtcbiRmYS12YXItdXNkOiBcIlxcZjE1NVwiO1xuJGZhLXZhci11c2VyOiBcIlxcZjAwN1wiO1xuJGZhLXZhci11c2VyLWNpcmNsZTogXCJcXGYyYmRcIjtcbiRmYS12YXItdXNlci1jaXJjbGUtbzogXCJcXGYyYmVcIjtcbiRmYS12YXItdXNlci1tZDogXCJcXGYwZjBcIjtcbiRmYS12YXItdXNlci1vOiBcIlxcZjJjMFwiO1xuJGZhLXZhci11c2VyLXBsdXM6IFwiXFxmMjM0XCI7XG4kZmEtdmFyLXVzZXItc2VjcmV0OiBcIlxcZjIxYlwiO1xuJGZhLXZhci11c2VyLXRpbWVzOiBcIlxcZjIzNVwiO1xuJGZhLXZhci11c2VyczogXCJcXGYwYzBcIjtcbiRmYS12YXItdmNhcmQ6IFwiXFxmMmJiXCI7XG4kZmEtdmFyLXZjYXJkLW86IFwiXFxmMmJjXCI7XG4kZmEtdmFyLXZlbnVzOiBcIlxcZjIyMVwiO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFwiXFxmMjI2XCI7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFwiXFxmMjI4XCI7XG4kZmEtdmFyLXZpYWNvaW46IFwiXFxmMjM3XCI7XG4kZmEtdmFyLXZpYWRlbzogXCJcXGYyYTlcIjtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXCJcXGYyYWFcIjtcbiRmYS12YXItdmlkZW8tY2FtZXJhOiBcIlxcZjAzZFwiO1xuJGZhLXZhci12aW1lbzogXCJcXGYyN2RcIjtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcIlxcZjE5NFwiO1xuJGZhLXZhci12aW5lOiBcIlxcZjFjYVwiO1xuJGZhLXZhci12azogXCJcXGYxODlcIjtcbiRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU6IFwiXFxmMmEwXCI7XG4kZmEtdmFyLXZvbHVtZS1kb3duOiBcIlxcZjAyN1wiO1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcIlxcZjAyNlwiO1xuJGZhLXZhci12b2x1bWUtdXA6IFwiXFxmMDI4XCI7XG4kZmEtdmFyLXdhcm5pbmc6IFwiXFxmMDcxXCI7XG4kZmEtdmFyLXdlY2hhdDogXCJcXGYxZDdcIjtcbiRmYS12YXItd2VpYm86IFwiXFxmMThhXCI7XG4kZmEtdmFyLXdlaXhpbjogXCJcXGYxZDdcIjtcbiRmYS12YXItd2hhdHNhcHA6IFwiXFxmMjMyXCI7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFwiXFxmMTkzXCI7XG4kZmEtdmFyLXdoZWVsY2hhaXItYWx0OiBcIlxcZjI5YlwiO1xuJGZhLXZhci13aWZpOiBcIlxcZjFlYlwiO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcbiRmYS12YXItd2luZG93LWNsb3NlOiBcIlxcZjJkM1wiO1xuJGZhLXZhci13aW5kb3ctY2xvc2UtbzogXCJcXGYyZDRcIjtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcIlxcZjJkMFwiO1xuJGZhLXZhci13aW5kb3ctbWluaW1pemU6IFwiXFxmMmQxXCI7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcIlxcZjJkMlwiO1xuJGZhLXZhci13aW5kb3dzOiBcIlxcZjE3YVwiO1xuJGZhLXZhci13b246IFwiXFxmMTU5XCI7XG4kZmEtdmFyLXdvcmRwcmVzczogXCJcXGYxOWFcIjtcbiRmYS12YXItd3BiZWdpbm5lcjogXCJcXGYyOTdcIjtcbiRmYS12YXItd3BleHBsb3JlcjogXCJcXGYyZGVcIjtcbiRmYS12YXItd3Bmb3JtczogXCJcXGYyOThcIjtcbiRmYS12YXItd3JlbmNoOiBcIlxcZjBhZFwiO1xuJGZhLXZhci14aW5nOiBcIlxcZjE2OFwiO1xuJGZhLXZhci14aW5nLXNxdWFyZTogXCJcXGYxNjlcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15LWNvbWJpbmF0b3Itc3F1YXJlOiBcIlxcZjFkNFwiO1xuJGZhLXZhci15YWhvbzogXCJcXGYxOWVcIjtcbiRmYS12YXIteWM6IFwiXFxmMjNiXCI7XG4kZmEtdmFyLXljLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWVscDogXCJcXGYxZTlcIjtcbiRmYS12YXIteWVuOiBcIlxcZjE1N1wiO1xuJGZhLXZhci15b2FzdDogXCJcXGYyYjFcIjtcbiRmYS12YXIteW91dHViZTogXCJcXGYxNjdcIjtcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXCJcXGYxNjZcIjtcblxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvKiBGT05UIFBBVEhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj0jeyRmYS12ZXJzaW9ufScpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PSN7JGZhLXZlcnNpb259I2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4vLyAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vRm9udEF3ZXNvbWUub3RmJykgZm9ybWF0KCdvcGVudHlwZScpOyAvLyB1c2VkIHdoZW4gZGV2ZWxvcGluZyBmb250c1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCIvLyBCYXNlIENsYXNzIERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG4iLCIvLyBJY29uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIG1ha2VzIHRoZSBmb250IDMzJSBsYXJnZXIgcmVsYXRpdmUgdG8gdGhlIGljb24gY29udGFpbmVyICovXG4uI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICBmb250LXNpemU6ICg0ZW0gLyAzKTtcbiAgbGluZS1oZWlnaHQ6ICgzZW0gLyA0KTtcbiAgdmVydGljYWwtYWxpZ246IC0xNSU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTN4IHsgZm9udC1zaXplOiAzZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS00eCB7IGZvbnQtc2l6ZTogNGVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNXggeyBmb250LXNpemU6IDVlbTsgfVxuIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHdpZHRoOiAoMThlbSAvIDE0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtJGZhLWxpLXdpZHRoO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICB0b3A6ICgyZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gICAgbGVmdDogLSRmYS1saS13aWR0aCArICg0ZW0gLyAxNCk7XG4gIH1cbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtO1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IC4zZW07IH1cbn1cblxuLyogRGVwcmVjYXRlZCBhcyBvZiA0LjQuMCAqL1xuLnB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cbi5wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLnB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLnB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuIiwiLy8gU3Bpbm5pbmcgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xuICAgICAgICAgIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4iLCIvLyBSb3RhdGVkICYgRmxpcHBlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTkwICB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDkwZGVnLCAxKTsgIH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoMTgwZGVnLCAyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0yNzAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgyNzBkZWcsIDMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIDEsIDApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCAgIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKDEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTkwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbiIsIi8vIFN0YWNrZWQgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4LCAuI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXggeyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnZlcnNlIHsgY29sb3I6ICRmYS1pbnZlcnNlOyB9XG4iLCIvKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbiAgIHJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVzaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tdXNpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGgtbGFyZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoLWxpc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9zZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbWludXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2gtbWludXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3dlci1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wb3dlci1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZWFyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jb2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhc2gtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb2NrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcm9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZG93bmxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmJveDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluYm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYXktY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtcmlnaHQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGVhdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGVhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWZyZXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb2NrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhZHBob25lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1vZmY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFyY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXFyY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXJjb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhZ3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9va21hcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXByaW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FtZXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9sZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWl0YWxpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtaGVpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGV4dC1oZWlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LXdpZHRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGV4dC13aWR0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tY2VudGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tY2VudGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbGlnbi1qdXN0aWZ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWRlbnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LW91dGRlbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vdXRkZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5kZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlkZW8tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlkZW8tY2FtZXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1waWN0dXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWN0dXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wZW5jaWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLW1hcmtlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkanVzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkanVzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRpdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlcC1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXN0LWJhY2t3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcndhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYXN0LWZvcndhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVwLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVwLWZvcndhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lamVjdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVqZWN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXMtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmZvLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcm9zc2hhaXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aW1lcy1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLWZvcndhcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHBhbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbXByZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hc3RlcmlzazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlYWY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV5ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV5ZS1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhcm5pbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsYW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJhbmRvbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFnbmV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmV0d2VldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG9wcGluZy1jYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb2xkZXItb3BlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyLWNoYXJ0LW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhci1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdHRlci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vay1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmEtcmV0cm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYW1lcmEtcmV0cm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1rZXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZWFyczpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZ3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtby1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLW91dDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24tb3V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlua2VkaW4tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWItdGFjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1iLXRhY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXh0ZXJuYWwtbGluazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLWluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJvcGh5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1Yi1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11cGxvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVtb24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcmstbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2ttYXJrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waG9uZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHdpdHRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmxvY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWRpdC1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVlZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcnNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGRkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZGQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVsbGhvcm47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2VydGlmaWNhdGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbG9iZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdyZW5jaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhc2tzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFza3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWx0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1icmllZmNhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyb3VwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhc2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2Npc3NvcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyY2xpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3BweS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxvcHB5LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uYXZpY29uOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZW9yZGVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtdWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LXVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1vbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpc3Qtb2w7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RyaWtldGhyb3VnaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuZGVybGluZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hZ2ljOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cnVjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nb29nbGUtcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9uZXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29sdW1uczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuc29ydGVkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZG93bjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC11cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmtlZGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLWxlZnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmRvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVnYWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2F2ZWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoYm9hcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWNob21ldGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzaDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYm9sdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXRlbWFwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2l0ZW1hcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW1icmVsbGE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xpcGJvYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saWdodGJ1bGItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjaGFuZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkLWRvd25sb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQtdXBsb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1tZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItbWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGV0aG9zY29wZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXRob3Njb3BlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWl0Y2FzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZmZlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dGxlcnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdXRsZXJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS10ZXh0LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXRleHQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWlsZGluZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9zcGl0YWwtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvc3BpdGFsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWJ1bGFuY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWJ1bGFuY2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWRraXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdodGVyLWpldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpZ2h0ZXItamV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWgtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlc2t0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXB0b3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWJsZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtcGhvbmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vYmlsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvdGUtbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvdGUtcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Bpbm5lcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtcmVwbHk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwbHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW9wZW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbWlsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvd24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZyb3duLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWgtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1laC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdhbWVwYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXlib2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta2V5Ym9hcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxhZy1jaGVja2VyZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXJtaW5hbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlcm1pbmFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVwbHktYWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFyLWhhbGYtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9jYXRpb24tYXJyb3c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtZm9yazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvZGUtZm9yazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubGluazpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaW4tYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hhaW4tYnJva2VuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmZvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VwZXJzY3JpcHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdWJzY3JpcHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmFzZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lcmFzZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wdXp6bGUtcGllY2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpZWxkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcm9ja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWF4Y2RuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHRtbDU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1odG1sNTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNzczM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jc3MzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5jaG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVubG9jay1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1bGxzZXllOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVsbGlwc2lzLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy12OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWxsaXBzaXMtdjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yc3Mtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5LWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWludXMtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxldmVsLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxldmVsLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjay1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tcGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1kb3duOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS11cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cm86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV1cjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdicDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdicDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGxhcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdXNkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVwZWU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlucjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlucjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNueTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcm1iOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15ZW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWpweTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWpweTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yb3VibGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJ1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0ta3J3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta3J3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0Y29pbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnRjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXRleHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXRleHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYWxwaGEtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbHBoYS1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hbW91bnQtYXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYW1vdW50LWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1udW1lcmljLWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1udW1lcmljLWRlc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRodW1icy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15b3V0dWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXhpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXhpbmctc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZS1wbGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRyb3Bib3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1vdmVyZmxvdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YWNrLW92ZXJmbG93OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5zdGFncmFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmxpY2tyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYml0YnVja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpdGJ1Y2tldC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dW1ibHI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHVtYmxyLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFwcGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvd3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5kcm9pZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbnV4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGludXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRyaWJiYmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5cGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1za3lwZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3Vyc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlbGxvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJlbGxvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmVtYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXR0aXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXRpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ3JhdGlwYXk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1bi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9vbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFyY2hpdmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12azpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpYm86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13ZWlibzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlbnJlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2VsaW5lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhZ2VsaW5lczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhY2stZXhjaGFuZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtbGVmdDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kb3QtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hlZWxjaGFpcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbWVvLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1cmtpc2gtbGlyYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdXMtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3BhY2Utc2h1dHRsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsYWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xhY2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13b3JkcHJlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuaWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVuaWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0aXR1dGlvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFuazpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2l0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuaXZlcnNpdHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3J0YXItYm9hcmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ3JhZHVhdGlvbi1jYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YWhvbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlhaG9vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVkZGl0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0dW1ibGV1cG9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGVsaWNpb3VzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRpZ2c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlci1wcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlci1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVwYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcnVwYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb29tbGE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qb29tbGE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhbmd1YWdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmF4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWlsZGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaWxkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hpbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG9vbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwb29uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1YmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWN1YmVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlaGFuY2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlaGFuY2Utc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZWFtLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY3ljbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWN5Y2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXV0b21vYmlsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FiOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10YXhpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGF4aTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmVlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BvdGlmeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwb3RpZnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGV2aWFudGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3VuZGNsb3VkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGF0YWJhc2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kYXRhYmFzZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXBkZi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXdvcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWwtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtZXhjZWwtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1wb3dlcnBvaW50LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBob3RvLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGljdHVyZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWltYWdlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXppcC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFyY2hpdmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1zb3VuZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWF1ZGlvLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWF1ZGlvLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW1vdmllLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW8tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtdmlkZW8tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29kZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1jb2RlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmluZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qc2ZpZGRsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYm91eTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1idW95OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXNhdmVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBwb3J0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saWZlLXJpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtby1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS1vLW5vdGNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2lzdGFuY2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmViZWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW1waXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15Yy1zcXVhcmU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFja2VyLW5ld3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVuY2VudC13ZWlibzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWNoYXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaXhpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdlaXhpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbmQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXItcGxhbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlci1wbGFuZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhpc3Rvcnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtdGhpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS10aGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFyYWdyYXBoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsaWRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGFyZS1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib21iOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZnV0Ym9sLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mdXRib2wtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbm9jdWxhcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaW5vY3VsYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1ZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBsdWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2xpZGVzaGFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXRjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15ZWxwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1uZXdzcGFwZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpZmk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aWZpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGN1bGF0b3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXlwYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXdhbGxldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXZpc2E6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy12aXNhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLW1hc3RlcmNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWRpc2NvdmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWFtZXg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1wYXlwYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1zdHJpcGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVsbC1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2gtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtc2xhc2gtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5cmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb3B5cmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV5ZWRyb3BwZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1icnVzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhaW50LWJydXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlydGhkYXktY2FrZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpcnRoZGF5LWNha2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmVhLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJlYS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5lLWNoYXJ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFzdGZtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhc3RmbS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdG9nZ2xlLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRvZ2dsZS1vbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaWN5Y2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW94aG9zdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlveGhvc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdlbGxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdlbGxpc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVxZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlsczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlsczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lYW5wYXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVhbnBhdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXlzZWxsYWRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnV5c2VsbGFkczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29ubmVjdGRldmVsb3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoY3ViZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRhc2hjdWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J1bWJlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZWFucHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VsbHN5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcnRzaW5idWxrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpcnRzaW5idWxrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltcGx5YnVpbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaW1wbHlidWlsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2t5YXRsYXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJ0LXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJ0LWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFtb25kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGlhbW9uZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaGlwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zZWNyZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXNlY3JldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdG9yY3ljbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb3RvcmN5Y2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWV0LXZpZXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHJlZXQtdmlldzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYXJ0YmVhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lcmN1cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZXJjdXJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJzZXg6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhbnNnZW5kZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFuc2dlbmRlci1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51cy1kb3VibGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtZG91YmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtbWFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzLW1hcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFycy1zdHJva2UtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW5ldXRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZW5kZXJsZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mYWNlYm9vay1vZmZpY2lhbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdC1wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0LXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoYXRzYXBwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VydmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItdGltZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3RlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhY29pbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWNvaW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYWluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Vid2F5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVkaXVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXktY29tYmluYXRvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wdGluLW1vbnN0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcHRpbi1tb25zdGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVuY2FydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4cGVkaXRlZHNzbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktNDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1mdWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vdXNlLXBvaW50ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWktY3Vyc29yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2JqZWN0LWdyb3VwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vYmplY3QtdW5ncm91cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RpY2t5LW5vdGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RpY2t5LW5vdGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWpjYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtZGluZXJzLWNsdWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbGFuY2Utc2NhbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1zdGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzcy1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtZW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ncmFiLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcm9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1yb2NrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXN0b3AtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wYXBlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wYXBlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zY2lzc29ycy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1zY2lzc29ycy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1saXphcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtbGl6YXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXNwb2NrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50ZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcG9pbnRlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1wZWFjZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhZGVtYXJrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZ2lzdGVyZWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlYXRpdmUtY29tbW9uczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2c7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZy1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyaXBhZHZpc29yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9kbm9rbGFzc25pa2k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdldC1wb2NrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpa2lwZWRpYS13OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FmYXJpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2FmYXJpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hyb21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZWZveDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmVmb3g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9wZXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR2OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxldmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGVsZXZpc2lvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbnRhbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItNTAwcHg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWF6b247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1wbHVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1wbHVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItbWludXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci10aW1lcy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItY2hlY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLWNoZWNrLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZHVzdHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXBpbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1waW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtc2lnbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtc2lnbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50aW5nLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50aW5nLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3V6ejpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXp6OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW1lbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsYWNrLXRpZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsYWNrLXRpZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnRpY29uczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdC1hbGllbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lZGdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3JlZGl0LWNhcmQtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RpZXBpZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vZHg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb2R4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9ydC1hd2Vzb21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvZHVjdC1odW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHJvZHVjdC1odW50OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl4Y2xvdWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taXhjbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmliZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNjcmliZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2UtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3AtY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0b3AtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1iYWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG9wcGluZy1iYWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXNodGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFzaHRhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsdWV0b290aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmx1ZXRvb3RoLWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVyY2VudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGxhYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGxhYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwYmVnaW5uZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGJlZ2lubmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdwZm9ybXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZpcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZpcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5pdmVyc2FsLWFjY2VzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2hlZWxjaGFpci1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibGluZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXVkaW8tZGVzY3JpcHRpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtY29udHJvbC1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaWxsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJyYWlsbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc2wtaW50ZXJwcmV0aW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVhZm5lc3M6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZGVhZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlYWY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsaWRlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdsaWRlLWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1sYW5ndWFnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvdy12aXNpb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb3ctdmlzaW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhZGVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmlhZGVvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhZGVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWRlby1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNuYXBjaGF0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdC1naG9zdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWVkLXBpcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3Qtb3JkZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJzdC1vcmRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW9hc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVtZWlzbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXMtb2ZmaWNpYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9udC1hd2Vzb21lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kc2hha2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbnZlbG9wZS1vcGVuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtb3Blbi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlub2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlub2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1ib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWJvb2stbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZjYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtY2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1iYWRnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaXZlcnMtbGljZW5zZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWNhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2UtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtY2FyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdW9yYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnJlZS1jb2RlLWNhbXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbGVncmFtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItNDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1mdWxsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1oYWxmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0wOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvd2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aHR1YjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tczE1OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXRoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wb2RjYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LW1heGltaXplOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1pbmltaXplOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LW1pbmltaXplOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3ctcmVzdG9yZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LWNsb3NlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LWNsb3NlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kY2FtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhbmRjYW1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXRzeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltZGI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbWRiOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJhdmVscnk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZXJjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWVyY2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvY2hpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dmbGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25vd2ZsYWtlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnBvd2VyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1cGVycG93ZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdwZXhwbG9yZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWV0dXA7IH1cbiIsIi8vIFNjcmVlbiBSZWFkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zci1vbmx5IHsgQGluY2x1ZGUgc3Itb25seSgpOyB9XG4uc3Itb25seS1mb2N1c2FibGUgeyBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpOyB9XG4iLCIiLCIuYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59IiwiLy8gU0NTUyB2YXJpYWJsZXMgYXJlIGluZm9ybWF0aW9uIGFib3V0IGljb24ncyBjb21waWxlZCBzdGF0ZSwgc3RvcmVkIHVuZGVyIGl0cyBvcmlnaW5hbCBmaWxlIG5hbWVcbi8vXG4vLyAuaWNvbi1ob21lIHtcbi8vICAgd2lkdGg6ICRpY29uLWhvbWUtd2lkdGg7XG4vLyB9XG4vL1xuLy8gVGhlIGxhcmdlIGFycmF5LWxpa2UgdmFyaWFibGVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGljb25cbi8vICRpY29uLWhvbWU6IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG4vL1xuLy8gQXQgdGhlIGJvdHRvbSBvZiB0aGlzIHNlY3Rpb24sIHdlIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwcml0ZXNoZWV0IGl0c2VsZlxuLy8gJHNwcml0ZXNoZWV0OiB3aWR0aCBoZWlnaHQgaW1hZ2UgJHNwcml0ZXNoZWV0LXNwcml0ZXM7XG4kYXJyb3ctZ3JleS1sZWZ0LW5hbWU6ICdhcnJvd19ncmV5X2xlZnQnO1xuJGFycm93LWdyZXktbGVmdC14OiAxMTRweDtcbiRhcnJvdy1ncmV5LWxlZnQteTogMjM1cHg7XG4kYXJyb3ctZ3JleS1sZWZ0LW9mZnNldC14OiAtMTE0cHg7XG4kYXJyb3ctZ3JleS1sZWZ0LW9mZnNldC15OiAtMjM1cHg7XG4kYXJyb3ctZ3JleS1sZWZ0LXdpZHRoOiAyM3B4O1xuJGFycm93LWdyZXktbGVmdC1oZWlnaHQ6IDM1cHg7XG4kYXJyb3ctZ3JleS1sZWZ0LXRvdGFsLXdpZHRoOiAzMDFweDtcbiRhcnJvdy1ncmV5LWxlZnQtdG90YWwtaGVpZ2h0OiAyNzJweDtcbiRhcnJvdy1ncmV5LWxlZnQtaW1hZ2U6ICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnO1xuJGFycm93LWdyZXktbGVmdDogKDExNHB4LCAyMzVweCwgLTExNHB4LCAtMjM1cHgsIDIzcHgsIDM1cHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdhcnJvd19ncmV5X2xlZnQnLCApO1xuJGFycm93LWdyZXktcmlnaHQtbmFtZTogJ2Fycm93X2dyZXlfcmlnaHQnO1xuJGFycm93LWdyZXktcmlnaHQteDogMTU3cHg7XG4kYXJyb3ctZ3JleS1yaWdodC15OiAyMzVweDtcbiRhcnJvdy1ncmV5LXJpZ2h0LW9mZnNldC14OiAtMTU3cHg7XG4kYXJyb3ctZ3JleS1yaWdodC1vZmZzZXQteTogLTIzNXB4O1xuJGFycm93LWdyZXktcmlnaHQtd2lkdGg6IDIzcHg7XG4kYXJyb3ctZ3JleS1yaWdodC1oZWlnaHQ6IDM1cHg7XG4kYXJyb3ctZ3JleS1yaWdodC10b3RhbC13aWR0aDogMzAxcHg7XG4kYXJyb3ctZ3JleS1yaWdodC10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGFycm93LWdyZXktcmlnaHQtaW1hZ2U6ICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnO1xuJGFycm93LWdyZXktcmlnaHQ6ICgxNTdweCwgMjM1cHgsIC0xNTdweCwgLTIzNXB4LCAyM3B4LCAzNXB4LCAzMDFweCwgMjcycHgsICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnLCAnYXJyb3dfZ3JleV9yaWdodCcsICk7XG4kaWNvbi1jYXItZnVyZ29uLW5hbWU6ICdpY29uLWNhci1mdXJnb24nO1xuJGljb24tY2FyLWZ1cmdvbi14OiAxNTZweDtcbiRpY29uLWNhci1mdXJnb24teTogNTBweDtcbiRpY29uLWNhci1mdXJnb24tb2Zmc2V0LXg6IC0xNTZweDtcbiRpY29uLWNhci1mdXJnb24tb2Zmc2V0LXk6IC01MHB4O1xuJGljb24tY2FyLWZ1cmdvbi13aWR0aDogNjhweDtcbiRpY29uLWNhci1mdXJnb24taGVpZ2h0OiAzNHB4O1xuJGljb24tY2FyLWZ1cmdvbi10b3RhbC13aWR0aDogMzAxcHg7XG4kaWNvbi1jYXItZnVyZ29uLXRvdGFsLWhlaWdodDogMjcycHg7XG4kaWNvbi1jYXItZnVyZ29uLWltYWdlOiAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJztcbiRpY29uLWNhci1mdXJnb246ICgxNTZweCwgNTBweCwgLTE1NnB4LCAtNTBweCwgNjhweCwgMzRweCwgMzAxcHgsIDI3MnB4LCAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJywgJ2ljb24tY2FyLWZ1cmdvbicsICk7XG4kaWNvbi1jYXItcGFjay1uYW1lOiAnaWNvbi1jYXItcGFjayc7XG4kaWNvbi1jYXItcGFjay14OiAwcHg7XG4kaWNvbi1jYXItcGFjay15OiAxMjRweDtcbiRpY29uLWNhci1wYWNrLW9mZnNldC14OiAwcHg7XG4kaWNvbi1jYXItcGFjay1vZmZzZXQteTogLTEyNHB4O1xuJGljb24tY2FyLXBhY2std2lkdGg6IDY4cHg7XG4kaWNvbi1jYXItcGFjay1oZWlnaHQ6IDM0cHg7XG4kaWNvbi1jYXItcGFjay10b3RhbC13aWR0aDogMzAxcHg7XG4kaWNvbi1jYXItcGFjay10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGljb24tY2FyLXBhY2staW1hZ2U6ICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnO1xuJGljb24tY2FyLXBhY2s6ICgwcHgsIDEyNHB4LCAwcHgsIC0xMjRweCwgNjhweCwgMzRweCwgMzAxcHgsIDI3MnB4LCAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJywgJ2ljb24tY2FyLXBhY2snLCApO1xuJGljb24taXMtY2hlY2tlZC1uYW1lOiAnaWNvbi1pcy1jaGVja2VkJztcbiRpY29uLWlzLWNoZWNrZWQteDogODhweDtcbiRpY29uLWlzLWNoZWNrZWQteTogMTI0cHg7XG4kaWNvbi1pcy1jaGVja2VkLW9mZnNldC14OiAtODhweDtcbiRpY29uLWlzLWNoZWNrZWQtb2Zmc2V0LXk6IC0xMjRweDtcbiRpY29uLWlzLWNoZWNrZWQtd2lkdGg6IDE2cHg7XG4kaWNvbi1pcy1jaGVja2VkLWhlaWdodDogMTdweDtcbiRpY29uLWlzLWNoZWNrZWQtdG90YWwtd2lkdGg6IDMwMXB4O1xuJGljb24taXMtY2hlY2tlZC10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGljb24taXMtY2hlY2tlZC1pbWFnZTogJy4uLy4uL2ltZy9zcHJpdGVzLnBuZyc7XG4kaWNvbi1pcy1jaGVja2VkOiAoODhweCwgMTI0cHgsIC04OHB4LCAtMTI0cHgsIDE2cHgsIDE3cHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdpY29uLWlzLWNoZWNrZWQnLCApO1xuJGljb24tbG9jLW5hbWU6ICdpY29uLWxvYyc7XG4kaWNvbi1sb2MteDogMTI0cHg7XG4kaWNvbi1sb2MteTogMTI0cHg7XG4kaWNvbi1sb2Mtb2Zmc2V0LXg6IC0xMjRweDtcbiRpY29uLWxvYy1vZmZzZXQteTogLTEyNHB4O1xuJGljb24tbG9jLXdpZHRoOiA5cHg7XG4kaWNvbi1sb2MtaGVpZ2h0OiAxM3B4O1xuJGljb24tbG9jLXRvdGFsLXdpZHRoOiAzMDFweDtcbiRpY29uLWxvYy10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGljb24tbG9jLWltYWdlOiAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJztcbiRpY29uLWxvYzogKDEyNHB4LCAxMjRweCwgLTEyNHB4LCAtMTI0cHgsIDlweCwgMTNweCwgMzAxcHgsIDI3MnB4LCAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJywgJ2ljb24tbG9jJywgKTtcbiRpY29uLXNoYXJlLW5hbWU6ICdpY29uLXNoYXJlJztcbiRpY29uLXNoYXJlLXg6IDI0NHB4O1xuJGljb24tc2hhcmUteTogNTBweDtcbiRpY29uLXNoYXJlLW9mZnNldC14OiAtMjQ0cHg7XG4kaWNvbi1zaGFyZS1vZmZzZXQteTogLTUwcHg7XG4kaWNvbi1zaGFyZS13aWR0aDogMzBweDtcbiRpY29uLXNoYXJlLWhlaWdodDogMzBweDtcbiRpY29uLXNoYXJlLXRvdGFsLXdpZHRoOiAzMDFweDtcbiRpY29uLXNoYXJlLXRvdGFsLWhlaWdodDogMjcycHg7XG4kaWNvbi1zaGFyZS1pbWFnZTogJy4uLy4uL2ltZy9zcHJpdGVzLnBuZyc7XG4kaWNvbi1zaGFyZTogKDI0NHB4LCA1MHB4LCAtMjQ0cHgsIC01MHB4LCAzMHB4LCAzMHB4LCAzMDFweCwgMjcycHgsICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnLCAnaWNvbi1zaGFyZScsICk7XG4kaWNvbi1zb2NpYWwtZi1uYW1lOiAnaWNvbi1zb2NpYWwtZic7XG4kaWNvbi1zb2NpYWwtZi14OiAwcHg7XG4kaWNvbi1zb2NpYWwtZi15OiAxNzhweDtcbiRpY29uLXNvY2lhbC1mLW9mZnNldC14OiAwcHg7XG4kaWNvbi1zb2NpYWwtZi1vZmZzZXQteTogLTE3OHB4O1xuJGljb24tc29jaWFsLWYtd2lkdGg6IDM3cHg7XG4kaWNvbi1zb2NpYWwtZi1oZWlnaHQ6IDM3cHg7XG4kaWNvbi1zb2NpYWwtZi10b3RhbC13aWR0aDogMzAxcHg7XG4kaWNvbi1zb2NpYWwtZi10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGljb24tc29jaWFsLWYtaW1hZ2U6ICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnO1xuJGljb24tc29jaWFsLWY6ICgwcHgsIDE3OHB4LCAwcHgsIC0xNzhweCwgMzdweCwgMzdweCwgMzAxcHgsIDI3MnB4LCAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJywgJ2ljb24tc29jaWFsLWYnLCApO1xuJGljb24tc29jaWFsLWZiLW5hbWU6ICdpY29uLXNvY2lhbC1mYic7XG4kaWNvbi1zb2NpYWwtZmIteDogNTdweDtcbiRpY29uLXNvY2lhbC1mYi15OiAxNzhweDtcbiRpY29uLXNvY2lhbC1mYi1vZmZzZXQteDogLTU3cHg7XG4kaWNvbi1zb2NpYWwtZmItb2Zmc2V0LXk6IC0xNzhweDtcbiRpY29uLXNvY2lhbC1mYi13aWR0aDogMzdweDtcbiRpY29uLXNvY2lhbC1mYi1oZWlnaHQ6IDM3cHg7XG4kaWNvbi1zb2NpYWwtZmItdG90YWwtd2lkdGg6IDMwMXB4O1xuJGljb24tc29jaWFsLWZiLXRvdGFsLWhlaWdodDogMjcycHg7XG4kaWNvbi1zb2NpYWwtZmItaW1hZ2U6ICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnO1xuJGljb24tc29jaWFsLWZiOiAoNTdweCwgMTc4cHgsIC01N3B4LCAtMTc4cHgsIDM3cHgsIDM3cHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdpY29uLXNvY2lhbC1mYicsICk7XG4kaWNvbi1zb2NpYWwtZy1uYW1lOiAnaWNvbi1zb2NpYWwtZyc7XG4kaWNvbi1zb2NpYWwtZy14OiAxMTRweDtcbiRpY29uLXNvY2lhbC1nLXk6IDE3OHB4O1xuJGljb24tc29jaWFsLWctb2Zmc2V0LXg6IC0xMTRweDtcbiRpY29uLXNvY2lhbC1nLW9mZnNldC15OiAtMTc4cHg7XG4kaWNvbi1zb2NpYWwtZy13aWR0aDogMzdweDtcbiRpY29uLXNvY2lhbC1nLWhlaWdodDogMzdweDtcbiRpY29uLXNvY2lhbC1nLXRvdGFsLXdpZHRoOiAzMDFweDtcbiRpY29uLXNvY2lhbC1nLXRvdGFsLWhlaWdodDogMjcycHg7XG4kaWNvbi1zb2NpYWwtZy1pbWFnZTogJy4uLy4uL2ltZy9zcHJpdGVzLnBuZyc7XG4kaWNvbi1zb2NpYWwtZzogKDExNHB4LCAxNzhweCwgLTExNHB4LCAtMTc4cHgsIDM3cHgsIDM3cHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdpY29uLXNvY2lhbC1nJywgKTtcbiRpY29uLXNvY2lhbC1pLW5hbWU6ICdpY29uLXNvY2lhbC1pJztcbiRpY29uLXNvY2lhbC1pLXg6IDE3MXB4O1xuJGljb24tc29jaWFsLWkteTogMTc4cHg7XG4kaWNvbi1zb2NpYWwtaS1vZmZzZXQteDogLTE3MXB4O1xuJGljb24tc29jaWFsLWktb2Zmc2V0LXk6IC0xNzhweDtcbiRpY29uLXNvY2lhbC1pLXdpZHRoOiAzN3B4O1xuJGljb24tc29jaWFsLWktaGVpZ2h0OiAzN3B4O1xuJGljb24tc29jaWFsLWktdG90YWwtd2lkdGg6IDMwMXB4O1xuJGljb24tc29jaWFsLWktdG90YWwtaGVpZ2h0OiAyNzJweDtcbiRpY29uLXNvY2lhbC1pLWltYWdlOiAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJztcbiRpY29uLXNvY2lhbC1pOiAoMTcxcHgsIDE3OHB4LCAtMTcxcHgsIC0xNzhweCwgMzdweCwgMzdweCwgMzAxcHgsIDI3MnB4LCAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJywgJ2ljb24tc29jaWFsLWknLCApO1xuJGljb24tc29jaWFsLWluLW5hbWU6ICdpY29uLXNvY2lhbC1pbic7XG4kaWNvbi1zb2NpYWwtaW4teDogMjI4cHg7XG4kaWNvbi1zb2NpYWwtaW4teTogMTc4cHg7XG4kaWNvbi1zb2NpYWwtaW4tb2Zmc2V0LXg6IC0yMjhweDtcbiRpY29uLXNvY2lhbC1pbi1vZmZzZXQteTogLTE3OHB4O1xuJGljb24tc29jaWFsLWluLXdpZHRoOiAzN3B4O1xuJGljb24tc29jaWFsLWluLWhlaWdodDogMzdweDtcbiRpY29uLXNvY2lhbC1pbi10b3RhbC13aWR0aDogMzAxcHg7XG4kaWNvbi1zb2NpYWwtaW4tdG90YWwtaGVpZ2h0OiAyNzJweDtcbiRpY29uLXNvY2lhbC1pbi1pbWFnZTogJy4uLy4uL2ltZy9zcHJpdGVzLnBuZyc7XG4kaWNvbi1zb2NpYWwtaW46ICgyMjhweCwgMTc4cHgsIC0yMjhweCwgLTE3OHB4LCAzN3B4LCAzN3B4LCAzMDFweCwgMjcycHgsICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnLCAnaWNvbi1zb2NpYWwtaW4nLCApO1xuJGljb24tc29jaWFsLXQtbmFtZTogJ2ljb24tc29jaWFsLXQnO1xuJGljb24tc29jaWFsLXQteDogMHB4O1xuJGljb24tc29jaWFsLXQteTogMjM1cHg7XG4kaWNvbi1zb2NpYWwtdC1vZmZzZXQteDogMHB4O1xuJGljb24tc29jaWFsLXQtb2Zmc2V0LXk6IC0yMzVweDtcbiRpY29uLXNvY2lhbC10LXdpZHRoOiAzN3B4O1xuJGljb24tc29jaWFsLXQtaGVpZ2h0OiAzN3B4O1xuJGljb24tc29jaWFsLXQtdG90YWwtd2lkdGg6IDMwMXB4O1xuJGljb24tc29jaWFsLXQtdG90YWwtaGVpZ2h0OiAyNzJweDtcbiRpY29uLXNvY2lhbC10LWltYWdlOiAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJztcbiRpY29uLXNvY2lhbC10OiAoMHB4LCAyMzVweCwgMHB4LCAtMjM1cHgsIDM3cHgsIDM3cHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdpY29uLXNvY2lhbC10JywgKTtcbiRpY29uLXNvY2lhbC15dC1uYW1lOiAnaWNvbi1zb2NpYWwteXQnO1xuJGljb24tc29jaWFsLXl0LXg6IDU3cHg7XG4kaWNvbi1zb2NpYWwteXQteTogMjM1cHg7XG4kaWNvbi1zb2NpYWwteXQtb2Zmc2V0LXg6IC01N3B4O1xuJGljb24tc29jaWFsLXl0LW9mZnNldC15OiAtMjM1cHg7XG4kaWNvbi1zb2NpYWwteXQtd2lkdGg6IDM3cHg7XG4kaWNvbi1zb2NpYWwteXQtaGVpZ2h0OiAzN3B4O1xuJGljb24tc29jaWFsLXl0LXRvdGFsLXdpZHRoOiAzMDFweDtcbiRpY29uLXNvY2lhbC15dC10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGljb24tc29jaWFsLXl0LWltYWdlOiAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJztcbiRpY29uLXNvY2lhbC15dDogKDU3cHgsIDIzNXB4LCAtNTdweCwgLTIzNXB4LCAzN3B4LCAzN3B4LCAzMDFweCwgMjcycHgsICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnLCAnaWNvbi1zb2NpYWwteXQnLCApO1xuJGxvZ28tb2QtbmFtZTogJ2xvZ28tb2QnO1xuJGxvZ28tb2QteDogMHB4O1xuJGxvZ28tb2QteTogMHB4O1xuJGxvZ28tb2Qtb2Zmc2V0LXg6IDBweDtcbiRsb2dvLW9kLW9mZnNldC15OiAwcHg7XG4kbG9nby1vZC13aWR0aDogMTM2cHg7XG4kbG9nby1vZC1oZWlnaHQ6IDEwNHB4O1xuJGxvZ28tb2QtdG90YWwtd2lkdGg6IDMwMXB4O1xuJGxvZ28tb2QtdG90YWwtaGVpZ2h0OiAyNzJweDtcbiRsb2dvLW9kLWltYWdlOiAnLi4vLi4vaW1nL3Nwcml0ZXMucG5nJztcbiRsb2dvLW9kOiAoMHB4LCAwcHgsIDBweCwgMHB4LCAxMzZweCwgMTA0cHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdsb2dvLW9kJywgKTtcbiRsb2dvLXdoaXRlLW5hbWU6ICdsb2dvX3doaXRlJztcbiRsb2dvLXdoaXRlLXg6IDE1NnB4O1xuJGxvZ28td2hpdGUteTogMHB4O1xuJGxvZ28td2hpdGUtb2Zmc2V0LXg6IC0xNTZweDtcbiRsb2dvLXdoaXRlLW9mZnNldC15OiAwcHg7XG4kbG9nby13aGl0ZS13aWR0aDogMTQ1cHg7XG4kbG9nby13aGl0ZS1oZWlnaHQ6IDMwcHg7XG4kbG9nby13aGl0ZS10b3RhbC13aWR0aDogMzAxcHg7XG4kbG9nby13aGl0ZS10b3RhbC1oZWlnaHQ6IDI3MnB4O1xuJGxvZ28td2hpdGUtaW1hZ2U6ICcuLi8uLi9pbWcvc3ByaXRlcy5wbmcnO1xuJGxvZ28td2hpdGU6ICgxNTZweCwgMHB4LCAtMTU2cHgsIDBweCwgMTQ1cHgsIDMwcHgsIDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICdsb2dvX3doaXRlJywgKTtcbiRzcHJpdGVzaGVldC13aWR0aDogMzAxcHg7XG4kc3ByaXRlc2hlZXQtaGVpZ2h0OiAyNzJweDtcbiRzcHJpdGVzaGVldC1pbWFnZTogJy4uLy4uL2ltZy9zcHJpdGVzLnBuZyc7XG4kc3ByaXRlc2hlZXQtc3ByaXRlczogKCRhcnJvdy1ncmV5LWxlZnQsICRhcnJvdy1ncmV5LXJpZ2h0LCAkaWNvbi1jYXItZnVyZ29uLCAkaWNvbi1jYXItcGFjaywgJGljb24taXMtY2hlY2tlZCwgJGljb24tbG9jLCAkaWNvbi1zaGFyZSwgJGljb24tc29jaWFsLWYsICRpY29uLXNvY2lhbC1mYiwgJGljb24tc29jaWFsLWcsICRpY29uLXNvY2lhbC1pLCAkaWNvbi1zb2NpYWwtaW4sICRpY29uLXNvY2lhbC10LCAkaWNvbi1zb2NpYWwteXQsICRsb2dvLW9kLCAkbG9nby13aGl0ZSwgKTtcbiRzcHJpdGVzaGVldDogKDMwMXB4LCAyNzJweCwgJy4uLy4uL2ltZy9zcHJpdGVzLnBuZycsICRzcHJpdGVzaGVldC1zcHJpdGVzLCApO1xuXG4vLyBUaGUgcHJvdmlkZWQgbWl4aW5zIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggdGhlIGFycmF5LWxpa2UgdmFyaWFibGVzXG4vL1xuLy8gLmljb24taG9tZSB7XG4vLyAgIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkaWNvbi1ob21lKTtcbi8vIH1cbi8vXG4vLyAuaWNvbi1lbWFpbCB7XG4vLyAgIEBpbmNsdWRlIHNwcml0ZSgkaWNvbi1lbWFpbCk7XG4vLyB9XG4vL1xuLy8gRXhhbXBsZSB1c2FnZSBpbiBIVE1MOlxuLy9cbi8vIGBkaXNwbGF5OiBibG9ja2Agc3ByaXRlOlxuLy8gPGRpdiBjbGFzcz1cImljb24taG9tZVwiPjwvZGl2PlxuLy9cbi8vIFRvIGNoYW5nZSBgZGlzcGxheWAgKGUuZy4gYGRpc3BsYXk6IGlubGluZS1ibG9jaztgKSwgd2Ugc3VnZ2VzdCB1c2luZyBhIGNvbW1vbiBDU1MgY2xhc3M6XG4vL1xuLy8gLy8gQ1NTXG4vLyAuaWNvbiB7XG4vLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vIH1cbi8vXG4vLyAvLyBIVE1MXG4vLyA8aSBjbGFzcz1cImljb24gaWNvbi1ob21lXCI+PC9pPlxuQG1peGluIHNwcml0ZS13aWR0aCgkc3ByaXRlKSB7XG4gIHdpZHRoOiBudGgoJHNwcml0ZSwgNSk7XG59XG5cbkBtaXhpbiBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBudGgoJHNwcml0ZSwgNik7XG59XG5cbkBtaXhpbiBzcHJpdGUtcG9zaXRpb24oJHNwcml0ZSkge1xuICAkc3ByaXRlLW9mZnNldC14OiBudGgoJHNwcml0ZSwgMyk7XG4gICRzcHJpdGUtb2Zmc2V0LXk6IG50aCgkc3ByaXRlLCA0KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwcml0ZS1vZmZzZXQteCAgJHNwcml0ZS1vZmZzZXQteTtcbn1cblxuQG1peGluIHNwcml0ZS1pbWFnZSgkc3ByaXRlKSB7XG4gICRzcHJpdGUtaW1hZ2U6IG50aCgkc3ByaXRlLCA5KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JHNwcml0ZS1pbWFnZX0pO1xufVxuXG5AbWl4aW4gc3ByaXRlKCRzcHJpdGUpIHtcbiAgQGluY2x1ZGUgc3ByaXRlLWltYWdlKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtcG9zaXRpb24oJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgc3ByaXRlLWhlaWdodCgkc3ByaXRlKTtcbn1cblxuLy8gVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4vLyAgIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuLy9cbi8vIEBpbmNsdWRlIHNwcml0ZXMoJHNwcml0ZXNoZWV0LXNwcml0ZXMpO1xuQG1peGluIHNwcml0ZXMoJHNwcml0ZXMpIHtcbiAgQGVhY2ggJHNwcml0ZSBpbiAkc3ByaXRlcyB7XG4gICAgJHNwcml0ZS1uYW1lOiBudGgoJHNwcml0ZSwgMTApO1xuICAgIC4jeyRzcHJpdGUtbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCRzcHJpdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKioqKioqKioqKioqKioqIFNDUk9MTEJBUiBCQVNFIENTUyAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGwtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmID4gLnNjcm9sbC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2Nyb2xsLS1ydGwge1xuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG59XG5cbi5zY3JvbGwtZWxlbWVudCB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIGRpdiB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cbiAgICAuc2Nyb2xsLWJhcixcbiAgICAuc2Nyb2xsLWFycm93IHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICYuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSxcbiAgICAmLnNjcm9sbC15LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5zY3JvbGwtdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzk5OTk5OTtcblxuICAgICYgPiAuc2Nyb2xsLWNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJiA+IHRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG4vKioqKioqKioqKioqKioqIFNJTVBMRSBJTk5FUiBTQ1JPTExCQVIgKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCBkaXZcbntcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgICBib3R0b206IDJweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcmlnaHQ6IDJweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDhweDtcbn1cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyLFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2ssXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3RyYWNrLFxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7XG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT00MCk7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyOyB9XG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtYmFyIHsgYmFja2dyb3VuZC1jb2xvcjogIzkxOTE5MTsgfVxuXG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWlubmVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTEycHg7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xMnB4OyB9XG5cblxuLnNjcm9sbGJhci1pbm5lciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTEycHg7IH1cbi5zY3JvbGxiYXItaW5uZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTEycHg7IH1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTSU1QTEUgT1VURVIgU0NST0xMQkFSICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTJweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMnB4O1xufVxuXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGhlaWdodDogOHB4OyB0b3A6IDJweDsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBsZWZ0OiAycHg7IHdpZHRoOiA4cHg7IH1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayxcbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhciB7IGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyOyB9XG4uc2Nyb2xsYmFyLW91dGVyID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5MTkxOyB9XG5cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xMnB4OyBtYXJnaW4tbGVmdDogMTJweDsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIHsgdG9wOiAgLTEycHg7IG1hcmdpbi10b3A6ICAxMnB4OyB9XG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBtaW4td2lkdGg6IDEwcHg7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBtaW4taGVpZ2h0OiAxMHB4OyB9XG5cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG5cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMTRweDsgfVxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTE0cHg7IH1cblxuLnNjcm9sbGJhci1vdXRlciA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTE0cHg7IH1cbi5zY3JvbGxiYXItb3V0ZXIgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTE0cHg7IH1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTQ1JPTExCQVIgTUFDIE9TIFggKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IGRpdlxue1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGRpc3BsYXk6IG5vbmU7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkM2RTcxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbn1cbi5zY3JvbGxiYXItbWFjb3N4OmhvdmVyID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyLFxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWJhciB7XG4gICAgLW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTcwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG5cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IHtcbiAgICBib3R0b206IDBweDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwcHg7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDdweDsgbWluLXdpZHRoOiAxMHB4OyB0b3A6IC05cHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHsgbGVmdDogLTlweDsgbWluLWhlaWdodDogMTBweDsgd2lkdGg6IDdweDsgfVxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBsZWZ0OiAycHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTRweDsgfVxuXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyB0b3A6IDJweDsgfVxuLnNjcm9sbGJhci1tYWNvc3ggPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC00cHg7IH1cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG4uc2Nyb2xsYmFyLW1hY29zeCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTExcHg7IH1cbi5zY3JvbGxiYXItbWFjb3N4ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyB0b3A6IC0xMXB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIExJR0hUICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudCxcbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1lbGVtZW50X3NpemUge1xuICAgIGJhY2tncm91bmQ6ICNkYmRiZGI7XG4gICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QZ284YzNabklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpFd01DVWlJR2hsYVdkb2REMGlNVEF3SlNJZ2RtbGxkMEp2ZUQwaU1DQXdJREVnTVNJZ2NISmxjMlZ5ZG1WQmMzQmxZM1JTWVhScGJ6MGlibTl1WlNJK0NpQWdQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdlREU5SWpBbElpQjVNVDBpTUNVaUlIZ3lQU0l4TURBbElpQjVNajBpTUNVaVBnb2dJQ0FnUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyUmlaR0prWWlJZ2MzUnZjQzF2Y0dGamFYUjVQU0l4SWk4K0NpQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmxPR1U0WlRnaUlITjBiM0F0YjNCaFkybDBlVDBpTVNJdlBnb2dJRHd2YkdsdVpXRnlSM0poWkdsbGJuUStDaUFnUEhKbFkzUWdlRDBpTUNJZ2VUMGlNQ0lnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtLU0lnTHo0S1BDOXpkbWMrJyk7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2RiZGJkYiAwJSwgI2U4ZThlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwjZGJkYmRiKSwgY29sb3Itc3RvcCgxMDAlLCNlOGU4ZTgpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZGJkYmRiIDAlLCNlOGU4ZTggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkYmRiZGIgMCUsI2U4ZThlOCAxMDAlKTtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTdweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxN3B4O1xufVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFZ01TSWdjSEpsYzJWeWRtVkJjM0JsWTNSU1lYUnBiejBpYm05dVpTSStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWxJaUI1TVQwaU1DVWlJSGd5UFNJeE1EQWxJaUI1TWowaU1DVWlQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlpsWm1WbVpTSWdjM1J2Y0MxdmNHRmphWFI1UFNJeElpOCtDaUFnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU5tTldZMVpqVWlJSE4wYjNBdGIzQmhZMmwwZVQwaU1TSXZQZ29nSUR3dmJHbHVaV0Z5UjNKaFpHbGxiblErQ2lBZ1BISmxZM1FnZUQwaU1DSWdlVDBpTUNJZ2QybGtkR2c5SWpFaUlHaGxhV2RvZEQwaU1TSWdabWxzYkQwaWRYSnNLQ05uY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrS1NJZ0x6NEtQQzl6ZG1jKycpO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZWZlZmUgMCUsICNmNWY1ZjUgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsI2ZlZmVmZSksIGNvbG9yLXN0b3AoMTAwJSwjZjVmNWY1KSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZlZmVmZSAwJSwjZjVmNWY1IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmVmZWZlIDAlLCNmNWY1ZjUgMTAwJSk7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xN3B4OyBtYXJnaW4tbGVmdDogMTdweDsgfVxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIHsgdG9wOiAgLTE3cHg7IG1hcmdpbi10b3A6ICAxN3B4OyB9XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIgeyBoZWlnaHQ6IDEwcHg7IG1pbi13aWR0aDogMTBweDsgdG9wOiAwcHg7IH1cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBsZWZ0OiAwcHg7IG1pbi1oZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB9XG5cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X291dGVyIHsgaGVpZ2h0OiAxMnB4OyBsZWZ0OiAycHg7IHRvcDogMnB4OyB9XG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTRweDsgfVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7IGxlZnQ6IDJweDsgdG9wOiAycHg7IHdpZHRoOiAxMnB4OyB9XG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtNHB4OyB9XG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiAtMTlweDsgfVxuLnNjcm9sbGJhci1saWdodCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMTlweDsgfVxuXG4uc2Nyb2xsYmFyLWxpZ2h0ID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14LnNjcm9sbC1zY3JvbGx5X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgbGVmdDogLTE5cHg7IH1cbi5zY3JvbGxiYXItbGlnaHQgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyB0b3A6IC0xOXB4OyB9XG5cblxuXG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKiogU0NST0xMQkFSIFJBSUwgKioqKioqKioqKioqKioqL1xuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQsXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudCBkaXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9zaXplIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlcjpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTJweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAzcHggMCAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCAycHggMCAzcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMnB4O1xufVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGI5YTA7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXI6aG92ZXIgLnNjcm9sbC1iYXIge1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLyogc2Nyb2xsYmFyIGhlaWdodC93aWR0aCAmIG9mZnNldCBmcm9tIGNvbnRhaW5lciBib3JkZXJzICovXG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtY29udGVudC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIHsgbGVmdDogLTE3cHg7IG1hcmdpbi1sZWZ0OiAxN3B4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSB7IG1hcmdpbi10b3A6IDE3cHg7IHRvcDogLTE3cHg7IH1cblxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtYmFyIHsgaGVpZ2h0OiAxMHB4OyBtaW4td2lkdGg6IDEwcHg7IHRvcDogMXB4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1iYXIgeyBsZWZ0OiAxcHg7IG1pbi1oZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB9XG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBoZWlnaHQ6IDE1cHg7IGxlZnQ6IDVweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgaGVpZ2h0OiAycHg7IGxlZnQ6IC0xMHB4OyB0b3A6IDVweDsgfVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVyIHsgdG9wOiA1cHg7IHdpZHRoOiAxNXB4OyB9XG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X3NpemUgeyBsZWZ0OiA1cHg7IHRvcDogLTEwcHg7IHdpZHRoOiAycHg7IH1cblxuLyogdXBkYXRlIHNjcm9sbGJhciBvZmZzZXQgaWYgYm90aCBzY3JvbGxzIGFyZSB2aXNpYmxlICovXG5cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgbGVmdDogLTI1cHg7IH1cbi5zY3JvbGxiYXItcmFpbCA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMjVweDsgfVxuXG4uc2Nyb2xsYmFyLXJhaWwgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sgeyBsZWZ0OiAtMjVweDsgfVxuLnNjcm9sbGJhci1yYWlsID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1zY3JvbGx4X3Zpc2libGUgLnNjcm9sbC1lbGVtZW50X3RyYWNrIHsgdG9wOiAtMjVweDsgfVxuXG5cblxuXG5cblxuXG5cblxuXG4vKioqKioqKioqKioqKioqIFNDUk9MTEJBUiBEWU5BTUlDICoqKioqKioqKioqKioqKi9cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50IGRpdlxue1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50IGRpdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHJpZ2h0OiAycHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIG9wYWNpdHk6IDAuMztcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQgLnNjcm9sbC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2YzZlNzE7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi8qIHNjcm9sbGJhciBoZWlnaHQvd2lkdGggJiBvZmZzZXQgZnJvbSBjb250YWluZXIgYm9yZGVycyAqL1xuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1iYXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgdG9wOiBhdXRvO1xufVxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDdweDtcbn1cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiAycHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjJzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7XG4gICAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7XG4gICAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjJzO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjJzO1xufVxuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMnB4O1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMC4ycztcbiAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAgIC1tcy10cmFuc2l0aW9uOiB3aWR0aCAwLjJzO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnM7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC00cHg7IH1cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTRweDsgfVxuXG5cbi8qIHVwZGF0ZSBzY3JvbGxiYXIgb2Zmc2V0IGlmIGJvdGggc2Nyb2xscyBhcmUgdmlzaWJsZSAqL1xuXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0xMXB4OyB9XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IHRvcDogLTExcHg7IH1cblxuXG4vKiBob3ZlciAmIGRyYWcgKi9cblxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50OmhvdmVyIC5zY3JvbGwtZWxlbWVudF9vdXRlcixcbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwtZHJhZ2dhYmxlIC5zY3JvbGwtZWxlbWVudF9vdXRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC1tcy1maWx0ZXI6XCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT03MClcIjtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzApO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgLnNjcm9sbC1lbGVtZW50X3NpemUsXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgLnNjcm9sbC1lbGVtZW50X3NpemUge1xuICAgIG9wYWNpdHk6IDE7XG59XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQ6aG92ZXIgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFyLFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIC5zY3JvbGwtYmFyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5zY3JvbGxiYXItZHluYW1pYyA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteDpob3ZlciAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIsXG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLWRyYWdnYWJsZSAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiA3cHg7XG59XG4uc2Nyb2xsYmFyLWR5bmFtaWMgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXk6aG92ZXIgLnNjcm9sbC1lbGVtZW50X291dGVyLFxuLnNjcm9sbGJhci1keW5hbWljID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1lbGVtZW50X291dGVyIHtcbiAgICBtaW4td2lkdGg6IDdweDtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKiBTQ1JPTExCQVIgR09PR0xFIENIUk9NRSAqKioqKioqKioqKioqKiovXG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LFxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2XG57XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtZWxlbWVudF9vdXRlciB7fVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RiZGJkYjtcbn1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXgge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDE2cHg7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50IC5zY3JvbGwtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZGJkYmQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudCAuc2Nyb2xsLWJhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgICBib3JkZXItY29sb3I6ICNhOWE5YTk7XG59XG5cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC1kcmFnZ2FibGUgLnNjcm9sbC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MTkxOTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjN2U3ZTdlO1xufVxuXG4vKiBzY3JvbGxiYXIgaGVpZ2h0L3dpZHRoICYgb2Zmc2V0IGZyb20gY29udGFpbmVyIGJvcmRlcnMgKi9cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSB7IGxlZnQ6IC0xNnB4OyBtYXJnaW4tbGVmdDogMTZweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWNvbnRlbnQuc2Nyb2xsLXNjcm9sbHhfdmlzaWJsZSB7IHRvcDogIC0xNnB4OyBtYXJnaW4tdG9wOiAgMTZweDsgfVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWJhciB7IGhlaWdodDogOHB4OyBtaW4td2lkdGg6IDEwcHg7IHRvcDogM3B4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteSAuc2Nyb2xsLWJhciB7IGxlZnQ6IDNweDsgbWluLWhlaWdodDogMTBweDsgd2lkdGg6IDhweDsgfVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteCAuc2Nyb2xsLWVsZW1lbnRfb3V0ZXIgeyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkYmRiZGI7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC14IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGhlaWdodDogMTRweDsgbGVmdDogLTNweDsgfVxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXggLnNjcm9sbC1lbGVtZW50X3NpemUgeyBoZWlnaHQ6IDE0cHg7IGxlZnQ6IC00cHg7IH1cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXkgLnNjcm9sbC1lbGVtZW50X291dGVyIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYmRiZGI7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTNweDsgd2lkdGg6IDE0cHg7IH1cbi5zY3JvbGxiYXItY2hyb21lID4gLnNjcm9sbC1lbGVtZW50LnNjcm9sbC15IC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtNHB4OyB3aWR0aDogMTRweDsgfVxuXG4vKiB1cGRhdGUgc2Nyb2xsYmFyIG9mZnNldCBpZiBib3RoIHNjcm9sbHMgYXJlIHZpc2libGUgKi9cblxuLnNjcm9sbGJhci1jaHJvbWUgPiAuc2Nyb2xsLWVsZW1lbnQuc2Nyb2xsLXguc2Nyb2xsLXNjcm9sbHlfdmlzaWJsZSAuc2Nyb2xsLWVsZW1lbnRfc2l6ZSB7IGxlZnQ6IC0xOXB4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF9zaXplIHsgdG9wOiAtMTlweDsgfVxuXG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteC5zY3JvbGwtc2Nyb2xseV92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IGxlZnQ6IC0xOXB4OyB9XG4uc2Nyb2xsYmFyLWNocm9tZSA+IC5zY3JvbGwtZWxlbWVudC5zY3JvbGwteS5zY3JvbGwtc2Nyb2xseF92aXNpYmxlIC5zY3JvbGwtZWxlbWVudF90cmFjayB7IHRvcDogLTE5cHg7IH1cblxuXG5cblxuXG5cblxuIiwiJGhhbWJ1cmdlci1jb2xvcjogIzAwMzM2ZjtcbiRoYW1idXJnZXItY29sb3ItYWN0aXZlOiAjMDAzMzZmO1xuJGhhbWJ1cmdlci13aWR0aDogMjVweDtcbiRoYW1idXJnZXItaGVpZ2h0OiA0cHg7XG4kaGFtYnVyZ2VyLWd1dHRlcjogNHB4O1xuJGZhdC1uYXYtdHJhbnMtZHVyYXRpb246IDAuNHM7XG5cbiRtb2R1bGU6IFwiLmhhbWJ1cmdlclwiO1xuXG4jeyRtb2R1bGV9IHtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLXdpZHRoO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci13aWR0aDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICAgJl9faWNvbiB7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvL21hcmdpbi10b3A6ICRoYW1idXJnZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1ndXR0ZXI7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogJGhhbWJ1cmdlci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWd1dHRlcjtcblxuICAgICAgICAmLCAmOmJlZm9yZSwgJjphZnRlciB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRoYW1idXJnZXItd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRoYW1idXJnZXItaGVpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGZhdC1uYXYtdHJhbnMtZHVyYXRpb247XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgICB9XG5cbiAgICAgICAgJG9mZnNldC1wb3NpdGl2ZTogJGhhbWJ1cmdlci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWd1dHRlcjtcbiAgICAgICAgJG9mZnNldC1uZWdhdGl2ZTogLSgkaGFtYnVyZ2VyLWhlaWdodCArICRoYW1idXJnZXItZ3V0dGVyKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6ICRvZmZzZXQtbmVnYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogJG9mZnNldC1wb3NpdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JG1vZHVsZX0uYWN0aXZlICYge1xuXG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkb2Zmc2V0LXBvc2l0aXZlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJG9mZnNldC1uZWdhdGl2ZSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5iZy1ncmV5LCAuZ3JleS1iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnR3JleTtcbn1cblxuLmJnLWJsYWNrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLm5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udHdvLWNvbHVtbiB7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGNvbHVtbi1nYXA6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDIpO1xuXG4gICAgbGkge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxufVxuXG4uaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5odG1sNS12aWRlby1wbGF5ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uZm9yLWljaGVjayB7XG5cbiAgICAuaWNoZWNrLWl0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAvIDIgKyAxOHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5idXR0b24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuXG4gICAgLy9wcmltYXJ5IC0gYnV0IHRoaXMgaXMgZm9yIGFsbCAtIGNoYW5nZSBpdCBuZWNlc3NhcnlcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uLWhvdmVyO1xuICAgIH1cblxuICAgICYuc2Vjb25kYXJ5LWJsdWUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRoaXJkIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNjM2MzYzM7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYnV0dG9uLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZmJlYzM7XG59XG4uYnV0dG9uLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzZmY7XG59XG4uYnRuLXByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4ucy1pY29ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udGFibGUtY2VudGVyLXdyYXAge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC50YWJsZS1jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuLnBhZ2UtdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgaDEge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuXG4ubWQtYnJlYWRjcnVtYnMge1xuICAgIC5icmVhZGNydW1ic19fc2VwYXJhdG9yIHtcbiAgICAgICAgcGFkZGluZzogMCBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICB9XG5cbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcblxuICAgIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi5zaWRlYmFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gKiAyKTtcbiAgICAuc2lkZWJhci1oZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRndXR0ZXItd2lkdGh9KTtcbiAgICB9XG59XG5cbi8vdG9vbHRpcFxuLnRvb2x0aXAtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWktdG9vbHRpcCB7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJi5jdXN0b20tdG9vbHRpcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgICAgICAuYXJyb3c6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAudWktdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRlZmF1bHQtdG9vbHRpcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgLmFycm93OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAudWktdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51aS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM3MCk7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYyg5IDE0KTtcbiAgICBjb2xvcjogI2JmYmZiZjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBib3gtc2hhZG93OiAwIDAgOXB4IDAgcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcblxuICAgIC5kZWZhdWx0LXRvb2x0aXAtcm93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjMTExO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogIzc1OTBhYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLmFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWktdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC10b29sdGlwIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICB9XG59XG5cbi5jb250YWN0LWZvcm0td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjUwKTtcblxuICAgIC5jb250YWN0LWZvcm0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKSAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcblxuICAgICAgICAuc3VjY2VzcyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZm9ybS1jb250ZW50IHtcbiAgICAgICAgLm1vcmUge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOGY4ZjhmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzQpO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwtZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzU3MTRyZW07XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzhmOGY4ZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5hZ3JlZW1lbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyAgIFxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDMyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICNmLWNoZWNrYm94MyB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9yLWljaGVjayB7XG4gICAgICAgICAgICAgICAgbGFiZWwgIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygzKTsgICBcbiAgICAgICAgICAgICAgICAgICAgJi5jaGVja2JveDMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxhYmVsW2Zvcj1cImYtY2hlY2tib3gzXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVycm9yLCAuZXJyb3JzIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJisuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgIC5jb250YWN0LWZvcm0tc2VuZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MjljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZpZGVvZGV0ZWN0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAmLmxvYWRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5yZW1vdmUtdmlkZW9kZXRlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uY29va2llcy1pbmZvLWJveCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1tZW51LWRhcmstZ3JleTtcblxuICAgIC5yb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiA4cHggY2FsYyg4cHggKyAyMHB4ICsgNXB4KTtcbiAgICAgICAgY29sb3I6ICRncmV5LXRpdGxlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGEsIGE6aG92ZXIsIGE6YWN0aXZlLCBhOmZvY3VzLCBhOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb29raWVzLWluZm8tY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi5nYWxsZXJ5UHJldmlldyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLmxvYWRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMikgMDtcbiAgICAgICAgJi0tY2Fyb3VzZWwge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWJlbG93IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIC5hdXRob3Ige1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0td3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAuZ2FsbGVyeSB7XG4gICAgICAgICAgICAmLS1jYXJvdXNlbCB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9AaW5jbHVkZSBicmVha3BvaW50KG1lbnVicmVhaylcbkBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwcHgpIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgLnNpZGViYXItaGVhZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3LWNhbGMoMzAsIDEzNjYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnR3by1jb2x1bW4ge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRndXR0ZXItd2lkdGh9ICogMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDIpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLnNpZGViYXItaGVhZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LWZvcm0td3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbi50cnVjay1wb2ludHMsIGRpdi50ZXh0LWNlbnRlcjpub3QoLmNvbHVtbiksIC50b3Atc2VjdGlvbi1saXN0LCAuc2VjdGlvbiBociwgLnJvdyA+IC5jb250ZW50LCAuY29sdW1uID4gLmNvbnRlbnQsIC5jb2x1bW5zID4gbGFiZWwsIC50cnVjay1ib3gtZm9vdGVyLCAuZmVhdHVyZS1oZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cbi5jYWxjLWJveC10b3Age1xuICAgIC5jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5mYXN0LWNvbnRhY3QtaWNvbnMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB3aWR0aDogNTBweDtcbiAgICB6LWluZGV4OiA1MDA7XG59XG4uZmFzdC1jb250YWN0LWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzZmY7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgLSA1MHB4KSk7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5mYXN0LWNvbnRhY3QtaWNvbjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbn1cbi5mYXN0LWNvbnRhY3QtaWNvbi1pbWcge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi5mYXN0LWNvbnRhY3QtaWNvbnMtbGVmdC1jZW50ZXIsXG4uZmFzdC1jb250YWN0LWljb25zLWxlZnQtYm90dG9tIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC5mYXN0LWNvbnRhY3QtaWNvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMTAwJSArIDUwcHgpKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAuZmFzdC1jb250YWN0LWljb246aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmFzdC1jb250YWN0LWljb24taW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG4uZmFzdC1jb250YWN0LWljb25zLWxlZnQtYm90dG9tLFxuLmZhc3QtY29udGFjdC1pY29ucy1yaWdodC1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xufSIsIi8vcmVnaW9uIGhlYWRlclxuXG4jaGVhZGVyLW1lbnUge1xuICAgIC8vZGlzcGxheTogbm9uZTtcbn1cblxuLmJsYWNrLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbi53aGl0ZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDAxO1xuXG4gICAgLmxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTMyKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltZy9sb2dvX2l2ZWNvLnBuZ1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMjAgMzAgMCk7XG4gICAgfVxuXG4gICAgaW1nLmxvZ28ge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmxvZ28tYXNzaXN0YW5jZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoODUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhciB7XG4gICAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwIDE1IDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RpY2tlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgLy8gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAvL31cblxuICAgICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUsICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZmFrZS1jb250YWluZXIgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICY+dWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudSwgJi5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgJi5icjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxBXCI7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogOXB4IDNweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5zci1vbmx5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaGFyZS1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLmFkZHRoaXMtY3VzdG9tLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IGNhbGMoI3tyZW0tY2FsYyg4KX0gKyAjeyRpY29uLXNoYXJlLWhlaWdodH0pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluLW91dCAwLjNzO1xuXG4gICAgICAgICAgICAuYXQtc2hhcmUtYnRuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucy1pY29ucyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDggMCk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICYgPiAuYWRkdGhpcy1jdXN0b20tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCg4OTlweCBkb3duKSB7XG4gICAgLmhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbWVudS1kYXJrLWdyZXk7XG5cbiAgICAgICAgLnRvcC1iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW1lbnUtZ3JleTtcblxuICAgICAgICAgICAgJiA+IC5yb3cge1xuICAgICAgICAgICAgICAgICYgPiAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1vYmlsZS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudSwgJi5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMCAxNSAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZy5sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMCAxNSAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS1iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gICAgICAgICAgICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1JTtcblxuICAgICAgICAgICAgICAgIGltZy5sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMiAwIDAgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KDkwMHB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICYgPiBhOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCoyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgJiA+IC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2sgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlLCAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDUzZmY7XG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1Ym1lbnUtcmlnaHQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdWItaGVhZGVyLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDotMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL2VuZHJlZ2lvblxuXG4vL3JlZ2lvbiBmb290ZXJcbmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItd2lkdGggMDtcblxuICAgICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3ItaWNoZWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGxhYmVsLCAuaXMtbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCoxLjUpO1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA1MjljO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc29jaWFsIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZTM7XG4gICAgICAgIC8vcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKSAwO1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKSByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGU1MjVjO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3RlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItd2lkdGggMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uLy4uL2ltZy9sb2dvX2l2ZWNvX3doaXRlLnBuZ1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDE2NCk7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjI1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvcHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgqNCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgqNCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb290ZXIge1xuICAgICAgICAuZm9vdGVyIHtcbiAgICAgICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2NpYWwge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVudWJyZWFrIGRvd24pIHtcbiAgICBmb290ZXIge1xuICAgICAgICAuZm9vdGVyIHtcbiAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9lbmRyZWdpb24iLCIiLCIjbWFpbi1zbGlkZXIge1xuICAgIC8vb3BhY2l0eTogMC4wMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXG4gICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zbGljay1kb3Rze1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKC0yMCk7XG4gICAgfVxuXG4gICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAvL21hcmdpbiB0byBwcmV2ZW50IDFwcyB3aWR0aCBiYWNrZ3JvdW5kIHZpc2libGVcbiAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgICAgLy9tYXJnaW4tbGVmdDogMXB4O1xuXG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIyMCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQ4MCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHZ3LWNhbGMoNDgwKTtcblxuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXNwb25zaXZlLWVtYmVkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogLTI0JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGUtZGVzYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAudGFibGUtY2VudGVyLXdyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQxdncpO1xuICAgICAgICAgICAgcGFkZGluZzogMCBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgIC50YWJsZS1jZW50ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGUtbW9yZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG5cbiNwcm9tb3Rpb24tc2xpZGVyIHtcbiAgICAvL29wYWNpdHk6IDAuMDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy9yZW0tY2FsYygkZ3V0dGVyLXdpZHRoKjMpO1xuXG4gICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKCN7cmVtLWNhbGMoJGd1dHRlci13aWR0aCl9IC8gMikgI3tyZW0tY2FsYygkZ3V0dGVyLXdpZHRoKX07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAgICAgLy90b3A6IDA7XG4gICAgICAgICAgICAvL2NvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IHJlbS1jYWxjKDE1Mik7XG4gICAgICAgICAgICAvL3dpZHRoOiByZW0tY2FsYygxNTIpO1xuICAgICAgICAgICAgLy90cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGUtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS10aXRsZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5zbGlkZS1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS10aXRsZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWRlLWRlc2Mge1xuXG4gICAgICAgIH1cblxuICAgICAgICAmLml0ZW1fMSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm94LWNvbG9yMTtcbiAgICAgICAgfVxuICAgICAgICAmLml0ZW1fMiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm94LWNvbG9yMjtcbiAgICAgICAgfVxuICAgICAgICAmLml0ZW1fMCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm94LWNvbG9yMztcbiAgICAgICAgICAgIC5zbGlkZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGlkZS1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGlkZS1kZXNjIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtJGd1dHRlci13aWR0aCoyKTtcbiAgICB9XG5cbn1cblxuLy90aGlzIGlzIG1lbnVicmVrPTkwMHB4IC0gYnV0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIGN1c3RvbSBicmVha3BvaW50XG5AaW5jbHVkZSBicmVha3BvaW50KDkwMHB4IGRvd24pIHtcbiAgICAjcHJvbW90aW9uLXNsaWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcblxuICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgLy93aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoJGd1dHRlci13aWR0aCl9KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy9tYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAje3JlbS1jYWxjKCRndXR0ZXItd2lkdGgpfSk7XG4gICAgICAgICAgICAvL21pbi13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZS1pdGVtIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoJGd1dHRlci13aWR0aCl9KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7cmVtLWNhbGMoJGd1dHRlci13aWR0aCl9ICsgMTVweCk7XG5cbiAgICAgICAgICAgIC5zbGlkZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGlkZS1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoNTM2cHgpIHtcbiAgICAjbWFpbi1zbGlkZXIge1xuICAgICAgICAuc2xpZGUtaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUzNnB4O1xuICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgI21haW4tc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgICAuc2xpZGUtaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5zbGlkZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGlkZS1tb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stZG90c3tcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTUwKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICBpbWcuc2hvdy1mb3Itc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAjbWFpbi1zbGlkZXIge1xuXG4gICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcblxuICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy9yZWdpb24gdmVydGljYWwgY2VudGVyXG4gICAgICAgICAgICAmLnBvc2l0aW9uLXJpZ2h0LWNlbnRlciB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucG9zaXRpb24tbGVmdC1jZW50ZXIge1xuICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2xpZGUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucG9zaXRpb24tY2VudGVyLWNlbnRlciB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgIC5zbGlkZS1tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9lbmRyZWdpb25cblxuICAgICAgICAgICAgLy9yZWdpb24gdmVydGljYWwgdG9wXG4gICAgICAgICAgICAmLnBvc2l0aW9uLXJpZ2h0LXRvcCB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAudGFibGUtY2VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBvc2l0aW9uLWxlZnQtdG9wIHtcbiAgICAgICAgICAgICAgICAudGFibGUtY2VudGVyLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zbGlkZS1tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wb3NpdGlvbi1jZW50ZXItdG9wIHtcbiAgICAgICAgICAgICAgICAudGFibGUtY2VudGVyLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc2xpZGUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vZW5kcmVnaW9uXG5cbiAgICAgICAgICAgIC8vcmVnaW9uIHZlcnRpY2FsIGJvdHRvbVxuICAgICAgICAgICAgJi5wb3NpdGlvbi1yaWdodC1ib3R0b20ge1xuICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wb3NpdGlvbi1sZWZ0LWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc2xpZGUtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucG9zaXRpb24tY2VudGVyLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAudGFibGUtY2VudGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNsaWRlLW1vcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL2VuZHJlZ2lvblxuXG4gICAgICAgICAgICAuc2xpZGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpZGUtZGVzYyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGlkZS1tb3JlIHtcbiAgICAgICAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1zbGlkZXIge1xuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtI3skYXJyb3dfZ3JleV9sZWZ0LWhlaWdodH0gLyAyKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuMXM7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuMXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJGFycm93X2dyZXlfbGVmdCk7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJGFycm93X2dyZXlfcmlnaHQpO1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gKCN7JGd1dHRlci13aWR0aH0gLyAyKSAtICN7JGFycm93X2dyZXlfcmlnaHQtd2lkdGh9KTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTUwKTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGdyZXktZG90O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZG90O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMHZ3O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzApfSAtICN7JGFycm93X2dyZXlfcmlnaHQtd2lkdGh9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2ctdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKSByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuXG4gICAgJi5ibHVlMiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlMjtcbiAgICB9XG5cbiAgICAmLmRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyaztcbiAgICB9XG5cbiAgICAudGFibGUtY2VudGVyLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnRhYmxlLWNlbnRlciB7XG4gICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAucGlwZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZG90O1xuXG4gICAgICAgICYgKyAuc2VjdGlvbi1ocmVmIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWN0aW9uLWhyZWYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9yZWdpb24gYXJ0aWNsZSBvdGhlclxuLmFydGljbGUtYm94IHtcbiAgICAuYXJ0aWNsZS1ib3gtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8vQGluY2x1ZGUgYnJlYWtwb2ludChtZW51YnJlYWspXG5AaW5jbHVkZSBicmVha3BvaW50KDkwMHB4KSB7XG4gICAgLnNnLXRpdGxlIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGdyZXktdGl0bGU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0Nik7XG4gICAgICAgIH1cbiAgICAgICAgLnBpcGUge1xuICAgICAgICAgICAgJiArIC5zZWN0aW9uLWhyZWYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWN0aW9uLWhyZWYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS10aXRsZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vZW5kcmVnaW9uXG5cbi8vcmVnaW9uIGFydGljbGUgcGFnZVxuXG4uYXJ0aWNsZS1jb250YWluZXIge1xuICAgIC5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gKiAyKTtcbiAgICAgICAgLmxvYWQtbW9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcnRpY2xlLWxpc3Qge1xuICAgIC5hcnRpY2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGVhc2Utb3V0IDAuM3M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDEuNSk7XG5cbiAgICAgICAgJi5mYWRlLWluIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1vdXQgMC41cztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRndXR0ZXItd2lkdGh9KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYXJ0aWNsZS1kYXRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFydGljbGUuYXJ0aWNsZS0tYmlnIHtcblxuICAgIC5hcnRpY2xlX193cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGd1dHRlci13aWR0aH0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSRndXR0ZXItd2lkdGgvMik7XG4gICAgfVxuXG4gICAgLmFydGljbGVfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmNvbnRlbnQtc3RhcnQtaGVhZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZGF0ZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICAubGVhZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFydGljbGUtbGF0ZXN0IHtcbiAgICAuYXJ0aWNsZSB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1lbnUtdGV4dDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNzZweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hcnRpY2xlLWRhdGUge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgLmFydGljbGUtYm94IHtcbiAgICAgICAgLmFydGljbGUtYm94LWl0ZW0ge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWxpc3Qge1xuICAgICAgICAuYXJ0aWNsZSB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hcnRpY2xlLWRhdGUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLmFydGljbGUtLWJpZyB7XG5cbiAgICAgICAgLmFydGljbGVfX3dyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlX19jb250ZW50IHtcbiAgICAgICAgICAgIC5sZWFkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vZW5kcmVnaW9uIiwiLmNvbnRhY3QtYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmNvbnRhY3QtYm94LWxlZnQge1xuICAgICAgICAuc2Nyb2xsYmFyLWlubmVyIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdC1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250YWN0LWl0ZW0tYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2l0eSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zLWljb25zIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbi1vdXQgMC4ycztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3Bhbi5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLnMtaWNvbnMge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDUzZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmNvbnRhY3QtYm94LXJpZ2h0IHtcblxuICAgIH1cbn1cblxuLmNvbnRhY3Qtc2l0ZSB7XG4gICAgLmNvbnRhY3Qtc2l0ZS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICYgPiBoMiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0LXNpdGUtYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5jb250YWN0LXNpdGUtYm94LWxlZnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgICAgIC5jb250YWN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRhY3QtaXRlbS1hZGRyZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5jaXR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250YWN0LXNpdGUtYm94LXJpZ2h0IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGVwYXJ0bWVudHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcblxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuZGVwYXJ0bWVudHMtbGlzdCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4zO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudXNlci1pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuXG4gICAgICAgIC51c2VyLWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmdHcmV5O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxMDApO1xuXG4gICAgICAgICAgICAudXNlci1uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudXNlci1lbWFpbCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDA1MjljO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnVzZXItcGhvbmUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwNTI5YztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWcge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiArIC5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg2MHB4ICsgI3tyZW0tY2FsYygkZ3V0dGVyLXdpZHRoKX0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmRlcGFydG1lbnQtaXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5maXJzdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTs7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1ibG9jay13cmFwcGVyIHtcbiAgICAgICAgICAgIC5zbGljay1ibG9jayB7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAub3RoZXItdXNlcnMge1xuXG4gICAgfVxuXG4gICAgLnNsaWNrLWJsb2NrIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5jb250YWN0LWJveCB7XG4gICAgICAgIGhlaWdodDogdnctY2FsYyg1MDApO1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuXG4gICAgICAgIC5jb250YWN0LWJveC1sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNvbnRhY3QtaWNvbnMge1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAuY29udGFjdC1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7b3BhY2l0eTogMTt9XG4gICAgICAgICAgICAgICAgJi5zZWxsX25ldy5pdmVjby1kYWlseSB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9pY29ucy9saWdodC5wbmcpO31cbiAgICAgICAgICAgICAgICAmLnNlbGxfbmV3Lml2ZWNvLWV1cm9jYXJnbyB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9pY29ucy9tZWRpdW0ucG5nKTt9XG4gICAgICAgICAgICAgICAgJi5zZWxsX25ldy5pdmVjby1zdHJhbGlzLXRyYWtrZXIge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvaWNvbnMvaGVhdnkucG5nKTt9XG4gICAgICAgICAgICAgICAgJi5zZXJ2aWNlLml2ZWNvLWRhaWx5IHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2ljb25zL3NlcnZpY2UtbGlnaHQucG5nKTt9XG4gICAgICAgICAgICAgICAgJi5zZXJ2aWNlLml2ZWNvLWV1cm9jYXJnbyB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9pY29ucy9zZXJ2aWNlLW1lZGl1bS5wbmcpO31cbiAgICAgICAgICAgICAgICAmLnNlcnZpY2UuaXZlY28tc3RyYWxpcy10cmFra2VyIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2ljb25zL3NlcnZpY2UtaGVhdnkucG5nKTt9XG4gICAgICAgICAgICAgICAgJi50cnVja19zdGF0aW9uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2ljb25zL3RydWNrX3N0YXRpb24ucG5nKTt9XG4gICAgICAgICAgICAgICAgJi5zZWxsX3VzZWQge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvaWNvbnMvc2VsbF91c2VkLnBuZyk7fVxuICAgICAgICAgICAgICAgICYucGFydHMge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvaWNvbnMvcGFydHMucG5nKTt9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGFjdC1ib3gtcmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3Qtc2l0ZS1ib3gge1xuICAgICAgICBoZWlnaHQ6IHZ3LWNhbGMoNTAwKTtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNTAwKTtcblxuICAgICAgICAuY29udGFjdC1zaXRlLWJveC1sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFjdC1zaXRlLWJveC1yaWdodCB7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuY29udGFjdC1zaXRlIHtcbiAgICAgICAgLmNvbnRhY3Qtc2l0ZS1pdGVtIHtcbiAgICAgICAgICAgICYgPiBoMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZGVwYXJ0bWVudHMtY29udGFpbmVyIHtcbiAgICAgICAgLmRlcGFydG1lbnQtaXRlbSB7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXBhcnRtZW50cy1saXN0IHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNob21lcGFnZS1tYXAsICNsb2NhdGlvbi1tYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xufVxuXG4uc2Nyb2xsYmFyLWlubmVyIHtcbiAgICAmID4gLnNjcm9sbC1lbGVtZW50IHtcbiAgICAgICAgJi5zY3JvbGwteSB7XG5cbiAgICAgICAgfVxuICAgICAgICAuc2Nyb2xsLWVsZW1lbnRfdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgICAgICAgfVxuICAgICAgICAuc2Nyb2xsLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdhN2E3O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLnNjcm9sbC1iYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzUzNTM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcmludC1idXR0b24tYmxvY2sge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgY29sb3I6ICNiYmI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxufSIsIi5wcm9kdWN0LWNsYXNzIHtcbiAgICAucHJvZHVjdC1jbGFzcy1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSk7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcblxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuXG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLWRlc2Mge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygoJGd1dHRlci13aWR0aC8yKSAkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLmhlYWRlci10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5oZWFkZXItZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHggMXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaGVhZGVyLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogY2FsYygjeyRndXR0ZXItd2lkdGh9ICogMikgY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSk7XG4gICAgfVxufVxuXG4jcHJvZHVjdC1jbGFzcy1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSk7XG5cbiAgICAuc2xpZGUtaXRlbSB7XG4gICAgICAgIC5zbGlkZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCN7JGd1dHRlci13aWR0aH0pO1xuXG4gICAgICAgICAgICAuc2xpZGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gKiAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGlkZS1kZXNjIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1jbGFzcy10YWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGd1dHRlci13aWR0aH0pO1xuICAgICYgPiAuY29sdW1ucyB7XG5cbiAgICB9XG5cbiAgICAucHJvZHVjdC1jbGFzcy10YWJzLXdyYXBwZXIge1xuICAgICAgICAmID4gLmNvbHVtbnMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJzIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcblxuICAgICAgICAgICAgLnRhYnMtdGl0bGUge1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRibGFjaywgMC44OSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZDhcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFicy1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JGd1dHRlci13aWR0aC8yfSk7XG4gICAgICAgICAgICAudGFicy1wYW5lbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgICAgICAudGFiLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4ucHJvZHVjdC1jbGFzcy1hd2FyZHMge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBmaWd1cmUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5tZC01IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKSAwO1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDMpIC0gNHB4KTtcbiAgICB9XG4gICAgLm1kLTcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMikgMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyA1KSAtIDRweCk7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgICAubWQtY3VzdG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKSAwO1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDQpIC0gNHB4KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1jbGFzcy1ib3hlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygjeyRndXR0ZXItd2lkdGh9KTtcblxuICAgIC5ib3gtdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkNWQ5ZGY7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoIC8gMik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTMwKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0jeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKCRndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKCRndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiA+IC5jb2x1bW5zIHtcbiAgICAgICAgJi5maXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLSN7JGd1dHRlci13aWR0aH0gLyAyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5wcm9kdWN0LWNsYXNzLWF3YXJkcyB7XG4gICAgICAgIC5tZC01IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gNCkgLSA0cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2xhc3MtYm94ZXMge1xuXG4gICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuY29sdW1ucyB7XG4gICAgICAgICAgICAmLmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0jeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5sYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNsYXNzLXRhYnMge1xuICAgICAgICAucHJvZHVjdC1jbGFzcy10YWJzLXdyYXBwZXIge1xuICAgICAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRibGFjaywgMC44OSk7XG5cbiAgICAgICAgICAgICAgICAudGFicy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAucHJvZHVjdC1jbGFzcyB7XG4gICAgICAgIC5wcm9kdWN0LWNvbnRlbnQge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogY2FsYygjeyRndXR0ZXItd2lkdGh9ICogMik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDIpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRndXR0ZXItd2lkdGh9ICogMik7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jbGFzcy1oZWFkZXIge1xuICAgICAgICAgICAgLmNvbHVtbi1kZXNjIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Byb2R1Y3QtY2xhc3Mtc2xpZGVyIHtcbiAgICAgICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKjIpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcblxuICAgICAgICAgICAgLnNsaWRlLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubm8tcGFkZGluZy1tZWRpdW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2xhc3MtdGFicyB7XG4gICAgICAgIC5wcm9kdWN0LWNsYXNzLXRhYnMtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCN7JGd1dHRlci13aWR0aCAqIDJ9KTtcblxuICAgICAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgLnRhYnMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9jb250ZW50OiAnXFwyMDM5JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnPic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRhYnMtY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgLnRhYnMtcGFuZWwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNsYXNzLWF3YXJkcyB7XG4gICAgICAgIC5tZC01IHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gNikgLSA0cHgpO1xuICAgICAgICB9XG4gICAgICAgIC5tZC03IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyA3KSAtIDRweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1jbGFzcy1ib3hlcyB7XG4gICAgICAgIC5ib3gtdGl0bGUge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEzMCk7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuY29sdW1ucyB7XG4gICAgICAgICAgICAmLmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoICogMik7XG4gICAgICAgICAgICAgICAgLmJveC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5sYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGggKiAyKTtcbiAgICAgICAgICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5hdmFpbGFibGUtZmlsdGVycyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIgKiAxMHB4KTtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDY0MCk7XG4gICAgbWluLXdpZHRoOiByZW0tY2FsYygyOTApO1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWJsdWU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgqMik7XG5cbiAgICAuYXZhaWxhYmxlLWZpbHRlcnMtdG9wIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgIC5sb2dvLW9kIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmxvZ28tb2QtZGVzYyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgY29sb3I6ICMwMDUyOWM7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF2YWlsYWJsZS1maWx0ZXJzLW5hZHdvemllIHtcblxuICAgICAgICAuZmlsdGVyLWl0ZW0ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlci13aWR0aCkgMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgjMDA1MjljLCAwLjkpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgICAgJiA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRpY29uLWNhci1mdXJnb24taGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDYpIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICAgICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDUyOWM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucmFkaW8ge1xuICAgICAgICAgICAgICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA1MjljO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxvYWRpbmcge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogd2FpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXIyLWl0ZW0ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlci13aWR0aCkgMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgjMDA1MjljLCAwLjkpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgICAgJiA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRpY29uLWNhci1mdXJnb24taGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDYpIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICAgICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDUyOWM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucmFkaW8ge1xuICAgICAgICAgICAgICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA1MjljO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxvYWRpbmcge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogd2FpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJ0bi1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMikgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmF2YWlsYWJsZS1saXN0IHtcbiAgICAuYXZhaWxhYmxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICB9XG4gICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiByZW0tY2FsYygzNiArIDEwKTtcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGFyYW1zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5idXR0b24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sYXN0LXZpc2libGUtZWxlbWVudCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwOyAvL2NhbGMoI3skZ3V0dGVyLXdpZHRoLzJ9KTtcbiAgICAgICAgbGVmdDogY2FsYygjeyRndXR0ZXItd2lkdGgvMn0pO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ3V0dGVyLXdpZHRofSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skZ3V0dGVyLXdpZHRoLzJ9KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIC8vYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIC8vYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgbm8tcmVwZWF0O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgLy90b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAzMnB4KTtcbiAgICAgICAgLy9sZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLnNpbmdsZS1hdmFpbGFibGUge1xuICAgIC5jb250ZW50IHtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpIDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICAucGFyYW0tdGVjaC1idWlsZC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIC5wYXJhbXMtdGVjaCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKjIpO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIC5wYXJhbS10ZWNoLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMikgMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJnR3JleTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYXJhbXMtYWRkaXRpb25hbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKjIpO1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCAvNCk7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMikgMDtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZSB1cmwoXCIuLi8uLi9pbWcvaWNvbi1pcy1jaGVja2VkLmpwZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnBhcmFtcy1leHRyYWZpZWxkcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKjIpO1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAucGFyYW0tdGVjaC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpIDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiZ0dyZXk7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpbmdsZS1hdmFpbGFibGUtZ2FsbGVyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAmID4gLnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgJiA+IGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAwLjJzO1xuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpZ3VyZXtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuc2VhcmNoLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1yaWdodCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmdhbGxlcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAmLml0ZW0tNSB7XG4gICAgICAgICAgICAgICAgLy9AZXh0ZW5kIC5sYXN0LXZpc2libGUtZWxlbWVudDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7IC8vY2FsYygjeyRndXR0ZXItd2lkdGgvMn0pO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKCN7JGd1dHRlci13aWR0aC8yfSk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRndXR0ZXItd2lkdGh9KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRndXR0ZXItd2lkdGgvMn0pO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgLy90b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAzMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgLy9sZWZ0OiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNhci1mYXN0LWNvbnRhY3QtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgLmF2YWlsYWJsZS1maWx0ZXJzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKCRndXR0ZXItd2lkdGgqMik7XG4gICAgfVxuXG4gICAgLnNpbmdsZS1hdmFpbGFibGUge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAucGFyYW1zLXRlY2gsIC5wYXJhbXMtYWRkaXRpb25hbCB7XG4gICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpbmdsZS1hdmFpbGFibGUtZ2FsbGVyeSB7XG4gICAgICAgIC5nYWxsZXJ5LXJpZ2h0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlICogNSAvIDEyIC0gMi43JSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdhbGxlcnkge1xuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgICYubGFzdC12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgLy9AZXh0ZW5kIC5sYXN0LXZpc2libGUtZWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwOyAvL2NhbGMoI3skZ3V0dGVyLXdpZHRoLzJ9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skZ3V0dGVyLXdpZHRoLzJ9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRndXR0ZXItd2lkdGh9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skZ3V0dGVyLXdpZHRoLzJ9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwNTRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMzJweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xlZnQ6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLml0ZW0tNSB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAuc2luZ2xlLWF2YWlsYWJsZSB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIC5wYXJhbXMtdGVjaCwgLnBhcmFtcy1hZGRpdGlvbmFsIHtcbiAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogY2FsYygjeyRndXR0ZXItd2lkdGh9ICogMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLnNpbmdsZS1hdmFpbGFibGUge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAucGFyYW1zLXRlY2gsIC5wYXJhbXMtYWRkaXRpb25hbCB7XG4gICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAqIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG59XG4uY2FyLWZhc3QtY29udGFjdC1pY29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi5jYXItZmFzdC1jb250YWN0LWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzZmY7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5jYXItZmFzdC1jb250YWN0LWljb24gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIycHg7XG59XG4uY2FyLWZhc3QtY29udGFjdC1pY29uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzAwNTNmZiwgNiUpO1xufVxuLmNhci1mYXN0LWNvbnRhY3QtaWNvbi10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTNmZjtcbiAgICBib3R0b206IGNhbGMoMTAwJSArIDE0cHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDJweCAyMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4uY2FyLWZhc3QtY29udGFjdC1pY29uLXRvb2x0aXAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uY2FyLWZhc3QtY29udGFjdC1pY29uLXRvb2x0aXAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogMzNweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9jbG9zZS10b29sdGlwLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2FyLWZhc3QtY29udGFjdC1pY29uLXRvb2x0aXA6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDEwcHggdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxMHB4IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDEwcHggIzAwNTNmZjtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDlweDtcbn0iLCIvL0ZvbnRzXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiR2lsbFNhbnNcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZ2lsbC1zYW5zL0dpbGxfU2Fuc19Ob3ZhX0xpZ2h0LndvZmZcIik7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkdpbGxTYW5zXCI7XHJcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2dpbGwtc2Fucy9HaWxsX1NhbnNfTm92YV9Cb29rLndvZmZcIik7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkdpbGxTYW5zXCI7XHJcbiAgICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL2dpbGwtc2Fucy9HaWxsX1NhbnNfTm92YV9NZWRpdW0ud29mZlwiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiR2lsbFNhbnNcIjtcclxuICAgIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZ2lsbC1zYW5zL0dpbGxfU2Fuc19Ob3ZhX0JvbGQud29mZlwiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbi8vcmVnaW9uIGFydGljbGUgb3RoZXJcclxuLmhlYWRpbmcge1xyXG4gICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuLnNsaWNrLWluaXRpYWxpemVkIHtcclxuICAgIC8vZmxleDogMCAwIDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuLmNvbnRhY3Qtc2l0ZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4ucHJvbW90aW9uLWxpc3Qge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLnByb21vdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhYmxlLWNlbnRlci13cmFwIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLnRhYmxlLWNlbnRlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbi1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvbW90aW9uLWJveC1pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XHJcblxyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyAvL3JlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGgzLCBwIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbi1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaW5nbGUtcHJvbW90aW9uLXBhZ2Uge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC5tZC1icmVhZGNydW1icyAubGFyZ2UtMTIge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTIwcHgpO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmljb25zNSB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnNpbmdsZS1wcm9tb3Rpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cclxuICAgIH1cclxuICAgIC5jb250YWN0LWZvcm0td3JhcHBlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IGNhbGMoLTM3cHggLSAxOXB4IC0gMjBweCk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb21vdGlvbl9fd3JhcHBlciB7XHJcbiAgICAgICAgZmlndXJlIHtcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoOTAuMzU3MTRyZW0gLSA1MDBweCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb21vdGlvbi5wcm9tb3Rpb24tLWJpZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAucHJvbW90aW9uX19jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5jb250ZW50LXN0YXJ0LWhlYWRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcm9tb3Rpb24tZGF0ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGVhZCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRndXR0ZXItd2lkdGh9IC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvbW90aW9uLW1vcmUge1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XHJcbiAgICAucHJvbW90aW9uLW1vcmUtaGVhZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcclxuICAgIH1cclxuICAgIC5wcm9tb3Rpb24tbW9yZS1jb250ZW50IHtcclxuICAgICAgICAucHJvbW90aW9uLWJveC1pdGVtIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCN7JGd1dHRlci13aWR0aH0gLyAyKTtcclxuXHJcbiAgICAgICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skZ3V0dGVyLXdpZHRofSAvIDIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy9yZW0tY2FsYygkZ3V0dGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcbiAgICAucHJvbW90aW9uLWxpc3Qge1xyXG4gICAgICAgIC5wcm9tb3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb21vdGlvbi1ib3gtaXRlbSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vcmlnaHQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcm9tb3Rpb24tbW9yZSB7XHJcbiAgICAgICAgLnByb21vdGlvbi1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAucHJvbW90aW9uLWJveC1pdGVtIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0MHB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJvbW90aW9uLnByb21vdGlvbi0tYmlnIHtcclxuICAgICAgICAucHJvbW90aW9uX19jb250ZW50IHtcclxuICAgICAgICAgICAgLmxlYWQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb21vdGlvbi1oZWFkZXIge1xyXG5cclxuICAgIC5wcm9tb3Rpb24taGVhZGVyLWxlZnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcclxuICAgICAgICAucHJvbW90aW9uLWhlYWRlci1sZWZ0IHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3NXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vdGlvbi1oZWFkZXItdmlkZW8ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZmxleC1ncm93OiAxXHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vdGlvbi1oZWFkZXItdmlkZW8tdmlkZW8ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcclxuICAgICAgICAucHJvbW90aW9uLWhlYWRlci12aWRlby12aWRlbyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCVcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vdGlvbi1oZWFkZXItaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vdGlvbi1oZWFkZXItcGxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgICAgICB6LWluZGV4OiAyXHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vdGlvbi1oZWFkZXItY2FwdGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzE5MTkxOTtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5vdmVyZmxvdy1iZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcbn1cclxuLnByb21vdGlvbi1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xyXG4gICAgLnByb21vdGlvbi1oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblx0XHRtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzRweCk7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTE3cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7XHJcbiAgICAucHJvbW90aW9uLWhlYWRlciAuYmFubmVyLWRlc2t0b3Age1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIC5wcm9tb3Rpb24taGVhZGVyIC5wcm9tb3Rpb24tZm9ybSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDQ3NXB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcbiAgICB9XHJcblx0Ly8ucHJvbW90aW9uLWhlYWRlciB7XHJcblx0Ly9cdCYtdGV4dCB7XHJcblx0Ly9cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHQvL1x0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ly9cdFx0dG9wOiAzcmVtO1xyXG5cdC8vXHRcdGxlZnQ6IDNyZW07XHJcblx0Ly9cdFx0Zm9udC1zaXplOiA3MHB4O1xyXG5cdC8vXHRcdGxpbmUtaGVpZ2h0OiA3OHB4O1xyXG5cdC8vXHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdC8vXHRcdG1heC13aWR0aDogNzEycHg7XHJcblx0Ly9cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHQvL1x0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAkYmx1ZTtcclxuXHQvL1x0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcblx0Ly9cdH1cclxuXHQvL31cclxuXHQvL1x0LnByb21vdGlvbi1mb3JtIHtcclxuXHQvL1x0XHQuZm9ybS1ncm91cCB7XHJcblx0Ly9cdFx0XHQuZm9ybS1jb250cm9sIHtcclxuXHQvL1x0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyZXk7XHJcblx0Ly9cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleSAhaW1wb3J0YW50O1xyXG5cdC8vXHRcdFx0XHRoZWlnaHQ6IDU2cHg7XHJcblx0Ly9cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0Ly9cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Ly9cdFx0XHR9XHJcblx0Ly9cdFx0XHRsYWJlbCB7XHJcblx0Ly9cdFx0XHRcdHRvcDogMXJlbTtcclxuXHQvL1x0XHRcdFx0Y29sb3I6ICRncmV5O1xyXG5cdC8vXHRcdFx0fVxyXG5cdC8vXHRcdH1cclxuXHQvL1x0fVxyXG5cdC8vfVxyXG59XHJcblxyXG4ucHJvbW90aW9uLWhlYWRlciB7XHJcblx0Ji10ZXh0IHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDJyZW07XHJcblx0XHRsZWZ0OiAycmVtO1xyXG5cdFx0Zm9udC1zaXplOiAyOHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdG1heC13aWR0aDogMzM0cHg7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDEwcHggc29saWQgJGJsdWU7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcblx0XHRmb250LWZhbWlseTogR2lsbFNhbnMsIHNhbnMtc2VyaWY7XHJcblx0XHQmLWJsdWUge1xyXG5cdFx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAkYmx1ZTtcclxuXHRcdH1cclxuXHRcdCYtZ3JlZW4ge1xyXG5cdFx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCBncmVlbjtcclxuXHRcdH1cclxuXHRcdCYtb3RoZXIge1xyXG5cdFx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCBvcmFuZ2U7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiA0NjBweDtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDYyMHB4O1xyXG5cdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDQ4cHg7XHJcblx0XHRcdG1heC13aWR0aDogNDY4cHg7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcblx0XHRcdHRvcDogM3JlbTtcclxuXHRcdFx0bGVmdDogM3JlbTtcclxuXHRcdFx0Zm9udC1zaXplOiA1OHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNjhweDtcclxuXHRcdFx0bWF4LXdpZHRoOiA2NTBweDtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xyXG5cdFx0XHRmb250LXNpemU6IDY2cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA3NnB4O1xyXG5cdFx0XHRtYXgtd2lkdGg6IDczMHB4O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNzBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDc4cHg7XHJcblx0XHRcdG1heC13aWR0aDogNzYwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vL0BtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuLy9cdHJpZ2h0OiA0cmVtO1xyXG4vL1x0LnByb21vdGlvbi1oZWFkZXIge1xyXG4vL1x0XHQmLXRleHQge1xyXG4vL1x0XHRcdGZvbnQtc2l6ZTogNThweDtcclxuLy9cdFx0XHRsaW5lLWhlaWdodDogNjhweDtcclxuLy9cdFx0fVxyXG4vL1x0fVxyXG4vL31cclxuLy9cclxuLy9AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XHJcbi8vXHRyaWdodDogOHJlbTtcclxuLy9cdC5wcm9tb3Rpb24taGVhZGVyIHtcclxuLy9cdFx0Ji10ZXh0IHtcclxuLy9cdFx0XHRmb250LXNpemU6IDY2cHg7XHJcbi8vXHRcdFx0bGluZS1oZWlnaHQ6IDc2cHg7XHJcbi8vXHRcdH1cclxuLy9cdH1cclxuLy99XHJcbi8vXHJcbi8vQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xyXG4vL1x0cmlnaHQ6IDhyZW07XHJcbi8vXHQucHJvbW90aW9uLWhlYWRlciB7XHJcbi8vXHRcdCYtdGV4dCB7XHJcbi8vXHRcdFx0Zm9udC1zaXplOiA3MHB4O1xyXG4vL1x0XHRcdGxpbmUtaGVpZ2h0OiA3OHB4O1xyXG4vL1x0XHR9XHJcbi8vXHR9XHJcbi8vfVxyXG5cclxuLnByb21vdGlvbi1mb3JtIGEge1xyXG4gICAgY29sb3I6ICMwMDBcclxufVxyXG5cclxuLnByb21vdGlvbi1mb3JtIGxhYmVsLFxyXG4ucHJvbW90aW9uLWZvcm0gcCB7XHJcbiAgICBmb250LXNpemU6IDEwcHhcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTkuOThweCkge1xyXG4gICAgLnByb21vdGlvbi1mb3JtIGxhYmVsLFxyXG4gICAgLnByb21vdGlvbi1mb3JtIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOXB4XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9tb3Rpb24tZm9ybSBsYWJlbCBhIHtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMFxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OS45OHB4KSB7XHJcbiAgICAucHJvbW90aW9uLWZvcm0gLmZvcm0tZ3JvdXAsXHJcbiAgICAucHJvbW90aW9uLWZvcm0gcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9tb3Rpb24tZm9ybSB7XHJcbiAgICBAaW1wb3J0IFwiLi4vLi4vanMvdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2dyaWRcIjtcclxuICAgIC5mb3JtLXJvdyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1yb3cgPiAuY29sLFxyXG4gICAgLmZvcm0tcm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAmLnByZWxvYWRlciB7XHJcbiAgICAgICAgLm92ZXJmbG93LWJnOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL2xvYWRlci5naWZcIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHdhaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmgyLCAuaDIgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaDIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDlweDtcclxuICAgIH1cclxuICAgIGxhYmVsOm5vdCguY3VzdG9tLWNvbnRyb2wtbGFiZWwpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLjZyZW07XHJcbiAgICB9XHJcbiAgICAuZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDE0cHggNnB4IDE0cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgLjlyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbTtcclxuICAgICAgICAmICsgbGFiZWwge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHRleHQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC42KTtcclxuICAgICAgICAgICAgdG9wOiAuM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsLCAmOmZvY3VzICsgbGFiZWwge1xyXG4gICAgICAgICAgICB0b3A6IC0uOXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXh0LWFzdGVyaXNrIHtcclxuICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcclxuICAgIH1cclxuICAgIC5idG4ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbSAwLjc1cmVtIDAuMjc1cmVtIDAuNzVyZW07XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMS40cmVtICsgMnB4KTtcclxuICAgICAgICBmb250LXNpemU6IDEuNGVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xyXG4gICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJi5idG4tc20ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKC44ZW0gKyAwLjQ1cmVtICsgMnB4KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI3NXJlbSAwLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxLjVlbSArIDEuNHJlbSArIDJweCk7XHJcbiAgICAgICAgICAgICYuYnRuLXNtIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyguOGVtICsgMC40NXJlbSArIDJweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW52YWxpZC1mZWVkYmFjayB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICNmZjAwMDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JwbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgIH1cclxuICAgIC50eHRsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbiAgICAuaW52YWxpZC1mZWVkYmFjay5zdGF0IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLThweDtcclxuICAgICAgICAvL29yZGVyOiAtMTtcclxuICAgIH1cclxuICAgIC5jdXN0b20tY29udHJvbCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMXJlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmN1c3RvbS1jb250cm9sLWlubGluZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI3cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmludmFsaWQtZmVlZGJhY2suc3RhdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHRvcDogLjI1cmVtO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAmLnBwcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5oaWRldG9nZ2xlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwYjA1MDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIHRvcDogLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTI2cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbW9sIC5jdXN0b20tY29udHJvbCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjIpO1xyXG4gICAgfVxyXG4gICAgJi53YXMtdmFsaWRhdGVkIDpub3QoLmN1c3RvbS1jb250cm9sLWlucHV0KTpub3QoLmJ0bik6dmFsaWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG4gICAgJi53YXMtdmFsaWRhdGVkIDpub3QoLmN1c3RvbS1jb250cm9sLWlucHV0KTpub3QoLmJ0bik6aW52YWxpZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XHJcbiAgICB9XHJcbiAgICAmLndhcy12YWxpZGF0ZWQgaW5wdXRbdHlwZT10ZXh0XTpub3QoLmN1c3RvbS1jb250cm9sLWlucHV0KTp2YWxpZCwgJi53YXMtdmFsaWRhdGVkIGlucHV0W3R5cGU9dGVsXTpub3QoLmN1c3RvbS1jb250cm9sLWlucHV0KTp2YWxpZCwgJi53YXMtdmFsaWRhdGVkIHNlbGVjdDpub3QoLmN1c3RvbS1jb250cm9sLWlucHV0KTp2YWxpZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvdmFsaWQucG5nJykgbm8tcmVwZWF0IHJpZ2h0IDAuNzVyZW0gY2VudGVyLzEycHggMTJweDtcclxuICAgIH1cclxuICAgICYud2FzLXZhbGlkYXRlZCBpbnB1dFt0eXBlPXRleHRdOm5vdCguY3VzdG9tLWNvbnRyb2wtaW5wdXQpOmludmFsaWQsICYud2FzLXZhbGlkYXRlZCBpbnB1dFt0eXBlPXRlbF06bm90KC5jdXN0b20tY29udHJvbC1pbnB1dCk6aW52YWxpZCwgJi53YXMtdmFsaWRhdGVkIHNlbGVjdDpub3QoLmN1c3RvbS1jb250cm9sLWlucHV0KTppbnZhbGlkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9pbnZhbGlkLnBuZycpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlci8xMnB4IDEycHg7XHJcbiAgICB9XHJcbiAgICAmLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgJi53YXMtdmFsaWRhdGVkIDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgJi53YXMtdmFsaWRhdGVkIC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssICYud2FzLXZhbGlkYXRlZCAuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvbW90aW9uLWZvcm0tZGFyayB7XHJcbiAgICAub3ZlcmZsb3ctYmcge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyMDIwMjA7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICYgKyBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWwsIGxhYmVsIGEge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1jb250cm9sIC5jdXN0b20tY29udHJvbC1sYWJlbCBhLnBwcCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tLWNvbnRyb2wgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICM0ZDRkNGQ7XHJcbiAgICB9XHJcbiAgICAmLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsXHJcbiAgICAgICAgJi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGQ0ZDtcclxuICAgIH1cclxuICAgIC50ZXh0LWFzdGVyaXNrIHtcclxuICAgICAgICBjb2xvcjogcmdiYSgjZmZmLC44Nyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9tb3Rpb24tZm9ybS13aWRlIHtcclxuICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIC5vdmVyZmxvdy1iZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC05OTk5cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOTk5OXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogOTk5OXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDk5OTlweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcclxuICAgIH1cclxuICAgIC5oMiwgLmgyIHAge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5idG4ge1xyXG4gICAgICAgIG1heC13aWR0aDogMzYwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnZhbGlkLWZlZWRiYWNrIHtcclxuICAgIHBhZGRpbmc6IDZweCAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4ubW9kYWwtYmFja2Ryb3Age1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG59XHJcblxyXG4ubW9kYWwge1xyXG4gICAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAubW9kYWwtYm9keSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDNyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDUzZmY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ0bi1zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTNmZjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZGFsLWJvZHktbGctcGFkZGluZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMXJlbTtcclxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRyZW0gN3JlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2xvc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLml2ZWNvLWNhcnMtaW1nIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTc1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MGVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xNDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTQwcHgpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMjIlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1ncmF5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uc2VjdGlvbi1ncmF5OjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAtNTB2dztcclxuICAgIHJpZ2h0OiAtNTB2dztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG4uc2VjdGlvbi13aGl0ZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zdGF0aWMtcGFnZS13cmFwcGVyID4gLnJvdyB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTUwdnc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDAuNzE0MjlyZW0pO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcclxuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoNTB2dyAtIDAuNzE0MjlyZW0pO1xyXG59XHJcblxyXG4vL2VuZHJlZ2lvblxyXG5cclxuLnNlY3Rpb24tYmx1ZS13aXRoLWJnLXR3by1jb2xvcnM6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAtNTB2dztcclxuICAgIHJpZ2h0OiAtNTB2dztcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwMjA3OCA1MCUsICMxNTU0ZmYgNTAlKTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeXtcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6ICMwMDUzZmYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByb21vdGlvbi1mb3JtLWFuY2hvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWU7XHJcblx0ZGl2IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDU2cHg7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuXHRcdHAge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG5cdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc25pcHBldC1zbGlkZXIge1xyXG5cdCYtdGV4dC1jb250YWluZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHQmLXBhZ2VzIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHQmLXByZXYge1xyXG5cdFx0XHRjb2xvcjogJGdyZXktZGFyaztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAuNXJlbTtcclxuXHRcdH1cclxuXHRcdCYtbmV4dCB7XHJcblx0XHRcdGNvbG9yOiAkZ3JleS1kYXJrO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLjVyZW07XHJcblx0XHR9XHJcblx0XHQmLWN1cnJlbnQge1xyXG5cclxuXHRcdH1cclxuXHRcdCYtYWxsIHtcclxuXHJcblx0XHR9XHJcblx0fVxyXG5cdCYtdmVyc2lvbiB7XHJcblx0XHRjb2xvcjogJGNvbG9yLWJsdWU7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0fVxyXG5cdCYtdGl0bGUge1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0fVxyXG5cdGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bnNldCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuc2xpY2stZG90cyB7XHJcblx0XHRib3R0b206IC0ycmVtO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblx0XHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xyXG5cdFx0XHRib3R0b206IC0uNXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5vcGluaW9ucy1zbGlkZXItdG9wIHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG59XHJcblxyXG4uYWR2YW50YWdlcy1lcXVpcG1lbnQtdG9wLFxyXG4ub3BpbmlvbnMtc2xpZGVyLXRvcCxcclxuLmZhcS1zZWN0aW9uLXRvcCB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy10b3A6IDNyZW07XHJcblx0aDIge1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRmb250LXNpemU6IDYwcHg7XHJcblx0XHRsaW5lLWhlaWdodDogNzRweDtcclxuXHRcdHdpZHRoOiAxNjgzcHg7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OXB4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNTZweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDY4cHg7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzk5Ljk5cHgpIHtcclxuXHRcdFx0Zm9udC1zaXplOiA1MHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNjBweDtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTkuOTlweCkge1xyXG5cdFx0XHRmb250LXNpemU6IDQ0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA1MnB4O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk5cHgpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzOHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNDZweDtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OXB4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOTlweCkge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRociB7XHJcblx0XHR3aWR0aDogMTE3cHg7XHJcblx0XHRib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLWJsdWU7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdH1cclxuXHRwIHtcclxuXHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMxLjJweDtcclxuXHRcdHdpZHRoOiAxMjIwcHg7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzOTkuOTlweCkge1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OS45OXB4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI3cHg7XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTEuOTlweCkge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk5cHgpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OXB4KSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OXB4KSB7XHJcblx0XHRoMiwgcCB7XHJcblx0XHRcdG1heC13aWR0aDogNTIwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OXB4KSB7XHJcblx0XHRoMiwgcCB7XHJcblx0XHRcdG1heC13aWR0aDogMzQwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYWR2YW50YWdlcy1lcXVpcG1lbnQge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdGdhcDogMnJlbTtcclxuXHRmb250LWZhbWlseTogJ0dpbGwgU2FucycsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGdhcDogNHJlbTtcclxuXHR9XHJcblx0LmNvbHVtbiB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcblx0XHRcdCYuZml4ZWQtcmlnaHQge1xyXG5cdFx0XHRcdHBhZGRpbmctaW5saW5lOiA4cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuZml4ZWQtbGVmdCB7XHJcblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IDhyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcblx0XHRcdCYuZml4ZWQtcmlnaHQge1xyXG5cdFx0XHRcdHBhZGRpbmctaW5saW5lOiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuZml4ZWQtbGVmdCB7XHJcblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IDRyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XHJcblx0XHRcdCYuZml4ZWQtcmlnaHQge1xyXG5cdFx0XHRcdHBhZGRpbmctaW5saW5lOiAycmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuZml4ZWQtbGVmdCB7XHJcblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IDJyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG5cdFx0XHQmLmZpeGVkLXJpZ2h0IHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuZml4ZWQtbGVmdCB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcclxuXHRcdFx0Ji5maXhlZC1yaWdodCB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogOHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmZpeGVkLWxlZnQge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogOHJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRoNCB7XHJcblx0XHRjb2xvcjogJGNvbG9yLWJsdWU7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRmb250LXNpemU6IDQ4cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTcuNnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHR9XHJcblx0cCB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMjhweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xyXG5cdFx0aDQge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWJsdWU7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHR9XHJcblx0XHRoMyB7XHJcblx0XHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDMycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA0M3B4O1xyXG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0fVxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xyXG5cdFx0aDQge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWJsdWU7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHR9XHJcblx0XHRoMyB7XHJcblx0XHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAzNXB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0fVxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ub3BpbmlvbnMtc2xpZGVyIHtcclxuXHRtYXJnaW4tbGVmdDogOHJlbTtcclxuXHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDhyZW0pICFpbXBvcnRhbnQ7XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OXB4KSB7XHJcblx0XHRtYXJnaW4tbGVmdDogNnJlbTtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gNnJlbSkgIWltcG9ydGFudDtcclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk5cHgpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA0cmVtO1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOTlweCkge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDJyZW07XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdCYtc2xpZGUge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cdFx0aW1nIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHRcdCYtY29udGVudCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdGdhcDogMS41cmVtO1xyXG5cdFx0XHQmLXRpdGxlIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnR2lsbCBTYW5zJywgc2Fucy1zZXJpZjtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHRcdFx0XHQvL21heC13aWR0aDogNDkycHg7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiA4MS41JTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLWRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRmb250LWZhbWlseTogJ0dpbGwgU2FucycsIHNhbnMtc2VyaWY7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI4cHg7XHJcblx0XHRcdFx0Ly9tYXgtd2lkdGg6IDQ5MnB4O1xyXG5cdFx0XHRcdG1heC13aWR0aDogODEuNSU7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji1zaWduYXR1cmUge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnR2lsbCBTYW5zJywgc2Fucy1zZXJpZjtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHRcdFx0XHQvL21heC13aWR0aDogNDkycHg7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiA4MS41JTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzk5Ljk5cHgpIHtcclxuXHRcdFx0XHRnYXA6IDFyZW07XHJcblx0XHRcdFx0Ji10aXRsZSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDJweDtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogNzglO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLWRlc2NyaXB0aW9uIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA3OCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYtc2lnbmF0dXJlIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA3OCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OXB4KSB7XHJcblx0XHRcdFx0Z2FwOiAxcmVtO1xyXG5cdFx0XHRcdCYtdGl0bGUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM4cHg7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDg2JTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji1kZXNjcmlwdGlvbiB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogODYlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLXNpZ25hdHVyZSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogODYlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2xpY2stcHJldi5zbGljay1hcnJvdyB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9vcGluaW9uLXNsaWRlci1wcmV2LnBuZ1wiKTtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiA4NnB4O1xyXG5cdFx0aGVpZ2h0OiA4NnB4O1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcblx0XHRcdHdpZHRoOiA2NHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDY0cHg7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdH1cclxuXHR9XHJcblx0LnNsaWNrLW5leHQuc2xpY2stYXJyb3cge1xyXG5cdFx0dG9wOiA2MiU7XHJcblx0XHRsZWZ0OiBjYWxjKDEwMCUgLSAoMjBweCAvIDIpIC0gODZweCk7XHJcblx0XHRiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltZy9vcGluaW9uLXNsaWRlci1uZXh0LnBuZ1wiKTtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiA4NnB4O1xyXG5cdFx0aGVpZ2h0OiA4NnB4O1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OS45OXB4KSB7XHJcblx0XHRcdHdpZHRoOiA2NHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDY0cHg7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0dG9wOiA0MnZ3O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk5cHgpIHtcclxuXHRcdFx0dG9wOiA1MHZ3O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk5cHgpIHtcclxuXHRcdFx0dG9wOiA4MnZ3O1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1Ljk5cHgpIHtcclxuXHRcdFx0d2lkdGg6IDQ4cHg7XHJcblx0XHRcdGhlaWdodDogNDhweDtcclxuXHRcdFx0bGVmdDogY2FsYygxMDAlIC0gKDIwcHggLyAyKSAtIDQycHgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZhcS1jb250YWluZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XHJcblx0bWFyZ2luLXRvcDogNHJlbTtcclxuXHRwYWRkaW5nLXRvcDogNHJlbTtcclxufVxyXG5cclxuLmZhcS1zZWN0aW9uIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLWJvdHRvbTogNHJlbTtcclxuXHRtYXJnaW4tdG9wOiA0cmVtO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luLWlubGluZTogYXV0bztcclxuXHQmX19jb250ZW50IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Z2FwOiAxLjVyZW07XHJcblx0XHRtYXJnaW4tdG9wOiA2cmVtO1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk5cHgpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogM3JlbTtcclxuXHRcdH1cclxuXHRcdCYtaXRlbSB7XHJcblx0XHRcdHBhZGRpbmctYmxvY2s6IC41cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWlubGluZTogLjVyZW07XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0d2lkdGg6IDE0MzhweDtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiB1bnNldDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDAwMDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOTlweCkge1xyXG5cdFx0XHRcdHdpZHRoOiAxMzYwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OXB4KSB7XHJcblx0XHRcdFx0d2lkdGg6IDExNDBweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk5cHgpIHtcclxuXHRcdFx0XHR3aWR0aDogODM2cHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk5cHgpIHtcclxuXHRcdFx0XHR3aWR0aDogNzIwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk5cHgpIHtcclxuXHRcdFx0XHR3aWR0aDogNDgwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1Ljk5cHgpIHtcclxuXHRcdFx0XHR3aWR0aDogMzUwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji1xdWVzdGlvbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdFx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDNyZW07XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogJ0dpbGwgU2FucycsIHNhbnMtc2VyaWY7XHJcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XHJcblx0XHRcdFx0XHQmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjUlLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0XHRcdFx0XHQvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2Fycm93LXVwLnN2ZycpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcblx0XHRcdFx0XHRcdGJvcmRlcjogdW5zZXQ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IGxpZ2h0ZW4oIzAwMDAwMCwgMTAlKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvYXJyb3ctZG93bi5zdmcnKTtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyNnB4O1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAtMnJlbTtcclxuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogOTJweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOTlweCkge1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OXB4KSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk5cHgpIHtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OXB4KSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCYtYW5zd2VyIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRmb250LXNpemU6IDMwcHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IC43NXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJsb2NrOiAuNzVyZW07XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdHaWxsIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOTlweCkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyOHB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM2cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzOTkuOTlweCkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTkuOTlweCkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OXB4KSB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9tb3Rpb24tbGVnYWwge1xyXG5cdHBhZGRpbmctaW5saW5lOiA4cmVtO1xyXG5cdG1hcmdpbi10b3A6IDJyZW07XHJcblx0cCB7XHJcblx0XHRmb250LWZhbWlseTogJ0dpbGwgU2FucycsIHNhbnMtc2VyaWY7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE2LjhweDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOTlweCkge1xyXG5cdFx0cGFkZGluZy1pbmxpbmU6IDZyZW07XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzOTkuOTlweCkge1xyXG5cdFx0cGFkZGluZy1pbmxpbmU6IDVyZW07XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTkuOTlweCkge1xyXG5cdFx0cGFkZGluZy1pbmxpbmU6IDRyZW07XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MS45OXB4KSB7XHJcblx0XHRwYWRkaW5nLWlubGluZTogM3JlbTtcclxuXHRcdHAge1xyXG5cdFx0XHRmb250LXNpemU6IDEycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOTlweCkge1xyXG5cdFx0cGFkZGluZy1pbmxpbmU6IDJyZW07XHJcblx0fVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NS45OXB4KSB7XHJcblx0XHRwYWRkaW5nLWlubGluZTogMXJlbTtcclxuXHRcdHAge1xyXG5cdFx0XHRmb250LXNpemU6IDEwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnBhZ2UtcHJvbW90aW9uLXByb21vdGlvbnMsIC5wYWdlLXByb21vdGlvbiB7XHJcbiAgICBmb250LWZhbWlseTogR2lsbFNhbnMsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICAgIC5tYXgtd2lkdGgge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjAuMXB4KSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTkyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBHaWxsU2Fucywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4jZ28tdG8tdG9wIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRib3R0b206IDEwcmVtO1xyXG5cdHJpZ2h0OiAxcmVtO1xyXG5cdHdpZHRoOiA4NHB4O1xyXG5cdGhlaWdodDogODRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0Ji5zaG93IHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdH1cclxuXHQmOmhvdmVyIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OXB4KSB7XHJcblx0XHR3aWR0aDogNzJweDtcclxuXHRcdGhlaWdodDogNzJweDtcclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OS45OXB4KSB7XHJcblx0XHR3aWR0aDogNjRweDtcclxuXHRcdGhlaWdodDogNjRweDtcclxuXHRcdGJvdHRvbTogOHJlbTtcclxuXHR9XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk5cHgpIHtcclxuXHRcdHdpZHRoOiA1OHB4O1xyXG5cdFx0aGVpZ2h0OiA1OHB4O1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOTlweCkge1xyXG5cdFx0d2lkdGg6IDQycHg7XHJcblx0XHRoZWlnaHQ6IDQycHg7XHJcblx0XHRib3R0b206IDEwcmVtO1xyXG5cdH1cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzUuOTlweCkge1xyXG5cdFx0Ym90dG9tOiAxMXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGF0aWMtcGFnZS13cmFwcGVyID4gLnJvdzpub3QoLnNvbG8tcm93KTpoYXMoLnByb2R1Y3RzLWxpc3QpIHsgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xyXG4gICAgLnN0YXRpYy1wYWdlLXdyYXBwZXIgPiAucm93Om5vdCguc29sby1yb3cpOmhhcygucHJvZHVjdHMtbGlzdCkgeyBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtOyB9XHJcbn1cclxuXHJcbi5wcm9kdWN0cy1saXN0IHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IH1cclxuLnByb2R1Y3RzLWxpc3QgKiB7IGZvbnQtZmFtaWx5OiBHaWxsU2Fucywgc2Fucy1zZXJpZjsgfVxyXG4ucHJvZHVjdC10aWxlX190aXRsZSB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxYjc4OyBwYWRkaW5nOiAxMHB4IDIwcHggMjJweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE0cHg7IGZvbnQtc2l6ZTogMjlweDsgZm9udC13ZWlnaHQ6IDYwMDsgbWF4LXdpZHRoOiA5MCU7IHdpZHRoOiBtYXgtY29udGVudDsgbWFyZ2luLWJvdHRvbTogLTEycHg7IH1cclxuLnByb2R1Y3QtdGlsZV9fY29udGVudCB7IGJvcmRlcjogNHB4IHNvbGlkICMwMDFiNzg7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMjsgYmFja2dyb3VuZDogI2ZmZjsgcGFkZGluZzogMjBweDsgfVxyXG4ucHJvZHVjdC10aWxlX19tZWRpYSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLnByb2R1Y3QtdGlsZV9fbWVkaWEgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxyXG4ucHJvZHVjdC10aWxlX19kZXRhaWxzIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDEwcHg7IG1hcmdpbi1ib3R0b206IDFyZW07IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cclxuLnByb2R1Y3QtdGlsZV9faW5mbyB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMjVweDsgZm9udC13ZWlnaHQ6IDYwMDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMDsgZmxleDogMTsgfVxyXG4ucHJvZHVjdC10aWxlX19wcm9tbyB7IG1hcmdpbi1yaWdodDogLTQwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZDogIzE1NTRmZjsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTRweDsgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMTBweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogNzBweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogMDsgbGluZS1oZWlnaHQ6IDE7IH1cclxuLnByb2R1Y3QtdGlsZV9fcHJvbW8gc21hbGwgeyBmb250LXNpemU6IDMwcHg7IH1cclxuLnByb2R1Y3QtdGlsZV9fcHJvbW86OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB0b3A6IC0yMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206IDIwcHggc29saWQgIzAwMWI3ODsgfVxyXG4ucHJvZHVjdC10aWxlX19wcmljZSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4IDIwcHg7IGZsZXgtd3JhcDogd3JhcDsgfVxyXG4ucHJvZHVjdC10aWxlX19wcmljZS1sYWJlbCB7IGZvbnQtc2l6ZTogMTYuNnB4OyBmb250LXdlaWdodDogNjAwOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmbGV4OiAxOyBsaW5lLWhlaWdodDogMTsgfVxyXG4ucHJvZHVjdC10aWxlX19wcmljZS12YWx1ZSB7IGZvbnQtc2l6ZTogMzVweDsgZm9udC13ZWlnaHQ6IDYwMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxyXG4ucHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IDIwcHg7IHBhZGRpbmctdG9wOiAxNnB4OyBib3JkZXItdG9wOiAzcHggc29saWQgIzAwMWI3ODsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogMzAwOyB9XHJcbi5wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIGIsXHJcbi5wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cclxuLnByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb24gKyAucHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7IGJvcmRlci10b3A6IG5vbmU7IHBhZGRpbmctdG9wOiAwOyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcbi5wcm9kdWN0LXRpbGVfX3RpdGxlIHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XHJcbiAgICAucHJvZHVjdC10aWxlX19wcm9tbyB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtdGlsZV9fcHJvbW8gc21hbGwgeyBmb250LXNpemU6IDI0cHg7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgLnByb2R1Y3QtdGlsZV9fdGl0bGUgeyBwYWRkaW5nOiA1cHggMTBweCAxNXB4OyBtYXJnaW4tYm90dG9tOiAtMTBweDsgfVxyXG4gICAgLnByb2R1Y3QtdGlsZV9fY29udGVudCB7IHBhZGRpbmc6IDEwcHg7IH1cclxuICAgIC5wcm9kdWN0LXRpbGVfX2RldGFpbHMgeyBnYXA6IDEwcHg7IH1cclxuICAgIC5wcm9kdWN0LXRpbGVfX3ByaWNlIHsgZ2FwOiA1cHggMTBweDsgfVxyXG4gICAgLnByb2R1Y3QtdGlsZV9fcHJvbW8geyBwYWRkaW5nOiA1cHggMTBweDsgZm9udC1zaXplOiA2MHB4OyBtYXJnaW4tcmlnaHQ6IC0yMHB4OyB9XHJcbiAgICAucHJvZHVjdC10aWxlX19wcm9tbzo6YmVmb3JlIHsgdG9wOiAtMTBweDsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxMHB4OyBib3JkZXItYm90dG9tLXdpZHRoOiAxMHB4OyB9XHJcbiAgICAucHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IDE0cHg7IHBhZGRpbmctdG9wOiAxMHB4OyBmb250LXNpemU6IDE2cHg7IH1cclxufVxyXG5cclxuXHJcblxyXG4ucHJvZHVjdHMtbGlzdC0tdHJpcGxlIHsgZ2FwOiA3MHB4OyB9XHJcbi5wcm9kdWN0cy1saXN0LS10cmlwbGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyB3aWR0aDogY2FsYygzMy4zMzMlIC0gKDE0MHB4IC8gMykpOyB9XHJcbi5wcm9kdWN0cy1saXN0LS10cmlwbGUgLnByb2R1Y3QtdGlsZV9fbWVkaWEgaW1nIHsgbWFyZ2luLWlubGluZTogYXV0bzsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDExNzlweCkge1xyXG4gICAgLnByb2R1Y3RzLWxpc3QtLXRyaXBsZSB7IGdhcDogNDBweDsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLXRyaXBsZSAucHJvZHVjdHMtbGlzdF9faXRlbSB7IHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAoODBweCAvIDMpKTsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tdHJpcGxlIHsgZ2FwOiAzMHB4OyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tdHJpcGxlIC5wcm9kdWN0cy1saXN0X19pdGVtIHsgd2lkdGg6IGNhbGMoMzMuMzMzJSAtICg2MHB4IC8gMykpOyB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS10cmlwbGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyB3aWR0aDogY2FsYyg1MCUgLSAoNjBweCAvIDIpKTsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS10cmlwbGUgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyByb3ctZ2FwOiAxLjQyODU3cmVtOyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tdHJpcGxlIC5wcm9kdWN0cy1saXN0X19pdGVtIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogMTAwJTsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS10cmlwbGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyBtYXgtd2lkdGg6IDEwMCU7IH1cclxufVxyXG5cclxuLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1oYWxmIHsgZ2FwOiA2MHB4OyB9XHJcbi5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdHMtbGlzdF9faXRlbSB7IHdpZHRoOiBjYWxjKDUwJSAtICg2MHB4IC8gMikpOyB9XHJcbi5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdC10aWxlX19kZXRhaWxzIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XHJcbi5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdC10aWxlX19wcm9tbyB7IG1pbi13aWR0aDogMjg0cHg7IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XHJcbi5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdHMtbGlzdF9faXRlbSAucHJvZHVjdC10aWxlX19wcmljZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDExNzlweCkge1xyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1oYWxmIHsgZ2FwOiA0MHB4OyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLWhhbGYgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyB3aWR0aDogY2FsYyg1MCUgLSAoNDBweCAvIDIpKTsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLWhhbGYgeyBnYXA6IDMwcHg7IH1cclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdHMtbGlzdF9faXRlbSB7IHdpZHRoOiBjYWxjKDUwJSAtICgzMHB4IC8gMikpOyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLWhhbGYgLnByb2R1Y3QtdGlsZV9fcHJvbW8geyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBtaW4td2lkdGg6IHVuc2V0OyB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdC10aWxlX19kZXRhaWxzIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1oYWxmIC5wcm9kdWN0LXRpbGVfX3ByaWNlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1oYWxmIC5wcm9kdWN0LXRpbGVfX3Byb21vIHsgdGV4dC1hbGlnbjogaW5pdGlhbDsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHJvdy1nYXA6IDEuNDI4NTdyZW07IH1cclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUtaGFsZiAucHJvZHVjdHMtbGlzdF9faXRlbSB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLWhhbGYgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyBtYXgtd2lkdGg6IDEwMCU7IH1cclxufVxyXG5cclxuLnByb2R1Y3RzLWxpc3QtLWRvdWJsZSB7IGdhcDogOTBweDsgfVxyXG4ucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgxKSB7IHdpZHRoOiBjYWxjKDY2LjY2NiUgLSAoOTBweCAvIDIpKTsgfVxyXG4ucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgyKSB7IHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAoOTBweCAvIDIpKTsgfVxyXG4ucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgxKSAucHJvZHVjdC10aWxlX19wcmljZSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxyXG4ucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgxKSAucHJvZHVjdC10aWxlX19wcmljZS1sYWJlbCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTE3OXB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlIHsgZ2FwOiA0MHB4OyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgxKSB7IHdpZHRoOiBjYWxjKDY2LjY2NiUgLSAoNDBweCAvIDIpKTsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZSAucHJvZHVjdHMtbGlzdF9faXRlbTpudGgtY2hpbGQoMikgeyB3aWR0aDogY2FsYygzMy4zMzMlIC0gKDQwcHggLyAyKSk7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZXsgZ2FwOiAzMHB4OyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgxKSB7IHdpZHRoOiBjYWxjKDY2LjY2NiUgLSAoMzBweCAvIDIpKTsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZSAucHJvZHVjdHMtbGlzdF9faXRlbTpudGgtY2hpbGQoMikgeyB3aWR0aDogY2FsYygzMy4zMzMlIC0gKDMwcHggLyAyKSk7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xyXG5cclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDEpIHsgd2lkdGg6IGNhbGMoNTAlIC0gKDMwcHggLyAyKSk7IH1cclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDIpIHsgd2lkdGg6IGNhbGMoNTAlIC0gKDMwcHggLyAyKSk7IH1cclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDEpIC5wcm9kdWN0LXRpbGVfX3ByaWNlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlIC5wcm9kdWN0cy1saXN0X19pdGVtOm50aC1jaGlsZCgxKSAucHJvZHVjdC10aWxlX19wcmljZS1sYWJlbCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcm93LWdhcDogMS40Mjg1N3JlbTsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZSAucHJvZHVjdHMtbGlzdF9faXRlbSB7IG1heC13aWR0aDogMTAwJTsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZSAucHJvZHVjdHMtbGlzdF9faXRlbTpudGgtY2hpbGQoMSkgeyB3aWR0aDogMTAwJTsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZSAucHJvZHVjdHMtbGlzdF9faXRlbTpudGgtY2hpbGQoMikgeyB3aWR0aDogMTAwJTsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyBtYXgtd2lkdGg6IDEwMCU7IH1cclxufVxyXG5cclxuLnByb2R1Y3RzLWxpc3QtLWZ1bGwgLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyB3aWR0aDogMTAwJTsgfVxyXG4ucHJvZHVjdHMtbGlzdC0tZnVsbCAucHJvZHVjdC10aWxlX19wcm9tbyB7IG1pbi13aWR0aDogNTQwcHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcbi5wcm9kdWN0cy1saXN0LS1mdWxsIC5wcm9kdWN0LXRpbGVfX3ByaWNlIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XHJcbi5wcm9kdWN0cy1saXN0LS1mdWxsIC5wcm9kdWN0LXRpbGVfX2luZm8geyBmb250LXNpemU6IDcwcHg7IH1cclxuLnByb2R1Y3RzLWxpc3QtLWZ1bGwgLnByb2R1Y3QtdGlsZV9fcHJpY2UtbGFiZWwgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWZ1bGwgLnByb2R1Y3QtdGlsZV9fcHJvbW8geyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBtaW4td2lkdGg6IHVuc2V0OyB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS1mdWxsIC5wcm9kdWN0LXRpbGVfX3Byb21vIHsgdGV4dC1hbGlnbjogaW5pdGlhbDsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWZ1bGwgLnByb2R1Y3QtdGlsZV9faW5mbyB7IGZvbnQtc2l6ZTogMjVweDsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWZ1bGwgLnByb2R1Y3QtdGlsZV9fcHJpY2UgeyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cclxuICAgIC5wcm9kdWN0cy1saXN0LS1mdWxsIC5wcm9kdWN0LXRpbGVfX3ByaWNlLWxhYmVsIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS1mdWxsIC5wcm9kdWN0cy1saXN0X19pdGVtIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWlubGluZTogYXV0bzsgfVxyXG59XHJcblxyXG4ucHJvZHVjdHMtbGlzdC0tZG91YmxlLW5vLWRlc2NyaXB0aW9uIHsgZ2FwOiA4MHB4OyB9XHJcbi5wcm9kdWN0cy1saXN0LS1kb3VibGUtbm8tZGVzY3JpcHRpb24gLnByb2R1Y3RzLWxpc3RfX2l0ZW0geyB3aWR0aDogY2FsYyg1MCUgLSAoODBweCAvIDIpKTsgfVxyXG4ucHJvZHVjdHMtbGlzdC0tZG91YmxlLW5vLWRlc2NyaXB0aW9uIC5wcm9kdWN0LXRpbGVfX2RldGFpbHMgeyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cclxuLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiAucHJvZHVjdC10aWxlX19pbmZvIHsgZm9udC1zaXplOiAzNnB4OyB9XHJcbi5wcm9kdWN0cy1saXN0LS1kb3VibGUtbm8tZGVzY3JpcHRpb24gLnByb2R1Y3QtdGlsZV9fcHJpY2UgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cclxuLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiAucHJvZHVjdC10aWxlX19wcmljZS1sYWJlbCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTE3OXB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLW5vLWRlc2NyaXB0aW9uIHsgZ2FwOiA0MHB4OyB9XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLW5vLWRlc2NyaXB0aW9uIC5wcm9kdWN0cy1saXN0X19pdGVtIHsgd2lkdGg6IGNhbGMoNTAlIC0gKDQwcHggLyAyKSk7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiB7IGdhcDogMzBweDsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiAucHJvZHVjdHMtbGlzdF9faXRlbSB7IHdpZHRoOiBjYWxjKDUwJSAtICgzMHB4IC8gMikpOyB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUtbm8tZGVzY3JpcHRpb24gLnByb2R1Y3QtdGlsZV9fZGV0YWlscyB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cclxuICAgIC5wcm9kdWN0cy1saXN0LS1kb3VibGUtbm8tZGVzY3JpcHRpb24gLnByb2R1Y3QtdGlsZV9faW5mbyB7IGZvbnQtc2l6ZTogMjVweDsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiAucHJvZHVjdC10aWxlX19wcmljZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiAucHJvZHVjdC10aWxlX19wcmljZS1sYWJlbCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLW5vLWRlc2NyaXB0aW9uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcm93LWdhcDogMS40Mjg1N3JlbTsgfVxyXG4gICAgLnByb2R1Y3RzLWxpc3QtLWRvdWJsZS1uby1kZXNjcmlwdGlvbiAucHJvZHVjdHMtbGlzdF9faXRlbSB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgICAucHJvZHVjdHMtbGlzdC0tZG91YmxlLW5vLWRlc2NyaXB0aW9uIC5wcm9kdWN0cy1saXN0X19pdGVtIHsgbWF4LXdpZHRoOiAxMDAlOyB9XHJcbn1cclxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxuXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGNvbnRhaW5lci1tYXgtd2lkdGggPiAkd2lkdGggb3IgJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8qKlxuU3R5bGVzIHVzZWQgZm9yIENvbnRlbnRCdWlsZGVyXG4gKi9cblxuLnN0YXRpYy1wYWdlLXdyYXBwZXIge1xuICAgICYgPiAucm93Om5vdCguc29sby1yb3cpLCAmID4gLnVpLWRyYWdnYWJsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5pcy1jYXJkIHtcblxuICAgICAgICAmID4gaW1nIHtcbiAgICAgICAgICAgICYgKyAuaXMtY2FyZC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vcmVnaW9uIHNpemVzXG4gICAgLnNpemUtMTIge1xuICAgICAgICBmb250LXNpemU6IDEycHhcbiAgICB9XG4gICAgLnNpemUtMTQge1xuICAgICAgICBmb250LXNpemU6IDE0cHhcbiAgICB9XG4gICAgLnNpemUtMTYge1xuICAgICAgICBmb250LXNpemU6IDE2cHhcbiAgICB9XG4gICAgLnNpemUtMTgge1xuICAgICAgICBmb250LXNpemU6IDE4cHhcbiAgICB9XG4gICAgLnNpemUtMjEge1xuICAgICAgICBmb250LXNpemU6IDIxcHhcbiAgICB9XG4gICAgLnNpemUtMjQge1xuICAgICAgICBmb250LXNpemU6IDI0cHhcbiAgICB9XG4gICAgLnNpemUtMzIge1xuICAgICAgICBmb250LXNpemU6IDMycHhcbiAgICB9XG4gICAgLnNpemUtNDgge1xuICAgICAgICBmb250LXNpemU6IDQ4cHhcbiAgICB9XG4gICAgLnNpemUtNjQge1xuICAgICAgICBmb250LXNpemU6IDY0cHhcbiAgICB9XG4gICAgLnNpemUtODAge1xuICAgICAgICBmb250LXNpemU6IDgwcHhcbiAgICB9XG4gICAgLnNpemUtOTYge1xuICAgICAgICBmb250LXNpemU6IDk2cHhcbiAgICB9XG4gICAgLy9lbmRyZWdpb25cblxuICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjMDA1MjljO1xuICAgIH1cblxuICAgIC5pcy1yb3VuZGVkLWJ1dHRvbi1iaWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHhcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtcm91bmRlZC1idXR0b24tbWVkaXVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtbGlnaHQtdGV4dCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIC5pcy1kYXJrLXRleHQgKiB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC5saXN0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmID4gaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGgyLCAmID4gaDMge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoKjIpO1xuICAgICAgICB9XG4gICAgICAgICYgPiBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgcmVtLWNhbGMoJGd1dHRlci13aWR0aCoyKVxuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIC8vZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktdGl0bGU7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1b3RlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmID4gaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICAgICAgJiA+IHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAmID4gcCwgJiA+IHNtYWxsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoICogMS41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXN0aW1vbmlhbCB7XG4gICAgICAgICYgPiBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICAgICYgPiBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGd1dHRlci13aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtc29jaWFsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgJiA+IGkge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktdGl0bGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpIDAgMDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJiA+IGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWJveGVkLWJ1dHRvbi1iaWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAjeyRndXR0ZXItd2lkdGh9IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAjeyRndXR0ZXItd2lkdGgqM307XG4gICAgICAgICAgICBoZWlnaHQ6ICN7JGd1dHRlci13aWR0aCozfTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sdW1uLW1hcmdpbi1ib3R0b20ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLXdpZHRoO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWdyZXktY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY2Zjg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgpO1xuICAgIH1cbn1cblxuLnJvdW5kZWQtcGljdHVyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5zdGF0aWMtcGFnZS13cmFwcGVyIHtcbiAgICAgICAgLnF1b3RlLWltYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC50YWJsZS1jZW50ZXItd3JhcCB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uLW1hcmdpbi1ib3R0b20ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5zdGF0aWMtcGFnZS13cmFwcGVyIHtcbiAgICAgICAgLy9yZWdpb24gc2l6ZXNcbiAgICAgICAgLnNpemUtMTIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtMTQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtMTYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtMTgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtMjEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtMjQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtMzIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtNDgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtNjQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtODAge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtOTYge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0NHB4XG4gICAgICAgIH1cbiAgICAgICAgLy9lbmRyZWdpb25cbiAgICB9XG59IiwiLmJvZHktZXJyb3ItcGFnZSB7XG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNzIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAudGFibGUge1xuICAgICAgICAgICAgLnRhYmxlLWNlbGwge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBhLCBhOnZpc2l0ZWQsIGE6YWN0aXZlIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5ib2R5LWVycm9yLXBhZ2Uge1xuICAgICAgICAucGFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNXZoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5mb3Jtc25pcHBldCB7XG5cbiAgICAmX19kZW1vIHtcblxuICAgICAgICAubGFyZ2UtOCA+IGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybXNuaXBwZXRfX2Zvcm0ge1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTgwdnc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1nL3NhbXBsZS9mb3JtMS5qcGcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmYxZjQ7XG5cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogcmVtLWNhbGMoNTUwKSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogODB2dztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL3NhbXBsZS9mb3JtMi5qcGcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogcmVtLWNhbGMoODAwKSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDd2dztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL3NhbXBsZS9mb3JtMy5qcGcnKTtcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltZy9zYW1wbGUvZm9ybTQuanBnJyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTU1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG5cbiAgICAuY29udGFjdC1mb3JtLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoJGd1dHRlci13aWR0aC8yKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIC5jb2x1bW4ubGFyZ2UtNCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLmZvcm1zbmlwcGV0X19mb3JtIHtcbiAgICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxhcmdlLXB1bGwtOCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgLmZvcm1zbmlwcGV0X19mb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb2x1bW4ubGFyZ2UtOCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCRndXR0ZXItd2lkdGgvMik7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgJi5sYXJnZS1wdXNoLTQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2Zvcm0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZmYxZjQ7XG4gICAgICAgICAgICAuY29udGFjdC1mb3JtLWZpZWxkcywgLmNvbnRhY3QtZm9ybS1sZWdhbHMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRhY3QtZm9ybS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygkZ3V0dGVyLXdpZHRoLzIpOyovXG4gICAgICAgICAgICB9ICAgXG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4uY2FyZDEge1xuICAgIFxuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJmODc7XG4gICAgbWFyZ2luOiByZW0tY2FsYygzMCkgMCAwO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzApIDMlIDA7XG4gICAgfVxuICAgIFxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICBoMyB7Y29sb3I6ICNmZmY7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDFyZW07fVxuICAgIH1cbn1cblxuI3N0cmFsaXNwcm9tb3Rpb24ge1xuICAgIG1hcmdpbjogMCAtMTVweDtcbiAgICAuc3RyYWxpcyB7XG4gICAgICAgICZfX2JnIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtIDRyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL3NuaXBwZXRzL3N0cmFsaXNwcm9tb3Rpb24vYmcuanBnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAjMGQzNTUzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87ICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9zbmlwcGV0cy9zdHJhbGlzcHJvbW90aW9uL2xvZ28ucG5nKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgICAgICAgICAgXG4vKiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1dnc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5MCUgYXV0bztcbiAgICAgICAgICAgIH0qL1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI2MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgICAgICAgICAgdG9wOiAtNzBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL3NuaXBwZXRzL3N0cmFsaXNwcm9tb3Rpb24vZG90cy5wbmcpIGNlbnRlciBjZW50ZXIgcmVwZWF0IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI3cHg7ICAgIFxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4vKiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyovXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHJlbSBhdXRvIDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwNXB4IGF1dG8gMTQ3cHg7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC03MnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL3NuaXBwZXRzL3N0cmFsaXNwcm9tb3Rpb24vZG90cy5wbmcpIGNlbnRlciBjZW50ZXIgcmVwZWF0IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTIuNSU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMi41JTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNzZweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9zbmlwcGV0cy9zdHJhbGlzcHJvbW90aW9uL2RvdHMucG5nKSBjZW50ZXIgY2VudGVyIHJlcGVhdCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLTAxIHtcbiAgICAgICAgICAgICAgICAmLS0wMSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMS0wMS5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wMiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMS0wMi5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wMyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMS0wMy5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wNCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMS0wNC5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLTAyIHtcbiAgICAgICAgICAgICAgICAmLS0wMSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMi0wMS5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wMiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMi0wMi5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wMyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMi0wMy5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wNCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMi0wNC5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLTAzIHtcbiAgICAgICAgICAgICAgICAmLS0wMSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMy0wMS5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wMiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMy0wMi5wbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS0wMyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMTVweDtcbi8qICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMzdnc7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9Ki9cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMy0wMy0wMS5wbmcpO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGNoYW5nZUltYWdlIDVzIGluZmluaXRlOyAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHAsIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgICAgIEBrZXlmcmFtZXMgY2hhbmdlSW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9zbmlwcGV0cy9zdHJhbGlzcHJvbW90aW9uLzAzLTAzLTAxLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgNDAlIHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL3NuaXBwZXRzL3N0cmFsaXNwcm9tb3Rpb24vMDMtMDMtMDEucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvc25pcHBldHMvc3RyYWxpc3Byb21vdGlvbi8wMy0wMy0wMi5wbmcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDkwJSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9zbmlwcGV0cy9zdHJhbGlzcHJvbW90aW9uLzAzLTAzLTAyLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9zbmlwcGV0cy9zdHJhbGlzcHJvbW90aW9uLzAzLTAzLTAxLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzM3B4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGZvcm0gcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmX19zdWJiYW5uZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9zbmlwcGV0cy9zdHJhbGlzcHJvbW90aW9uL0hpV2F5X1BlcmZvcm1lci5wbmcpIHRvcCBjZW50ZXIgbm8tcmVwZWF0IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuOCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmZvcm1zbmlwcGV0X19mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLmFncmVlbWVudC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMzMHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnJlbmRlci1mb3JtLWxpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbnJlbmRlci1mb3JtLWRhcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsIi5iYW5uZXItZWRpdG9yLXByZXZpZXctYm9keSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4uYmFubmVyLWVkaXRvci1wcmV2aWV3LWNlbnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5iYW5uZXItZWRpdG9yLXByZXZpZXctaW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJhbm5lci1kZXNrdG9wLFxuLmJhbm5lci1tb2JpbGUge1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBsZWZ0IC8gY292ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5iYW5uZXItZWRpdG9yLXByZXZpZXctYm9keSAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG59XG4uYmFubmVyLWRlc2t0b3Age1xuICAgIC8vaGVpZ2h0OiA1MTdweDtcblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzRweCk7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmJhbm5lci1tb2JpbGUge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5iYW5uZXItbW9iaWxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlICogNTgyIC8gNzIwO1xufVxuLmJhbm5lci1sYXllciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IEdpbGxTYW5zO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uYmFubmVyLWxheWVyLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogc29saWQgMnB4ICMwMDAwZmY7XG59XG4uYmFubmVyLWxheWVyLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuLmJhbm5lci1sYXllci1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4uYmFubmVyLWxheWVyIC51aS1yZXNpemFibGUtc2Uge1xuICAgIGJvdHRvbTogLTVweDtcbiAgICByaWdodDogLTVweDtcbn1cbi5iYW5uZXItZWRpdG9yLXByZXZpZXctYm9keSAuYmFubmVyLWxheWVyLWlubmVyIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uYmFubmVyLWxheWVyLWNrZWRpdG9yLWJvZHkge1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBHaWxsU2FucztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59IiwiLm9sZC1icm93c2VyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDBweDtcbiAgICBmb250LWZhbWlseTogR2lsbFNhbnM7XG59XG4ub2xkLWJyb3dzZXIgdHIge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5vbGQtYnJvd3Nlci1ib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5vbGQtYnJvd3Nlci1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAzMHB4IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NTkuOThweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUzOS45OHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICB9XG59XG4ub2xkLWJyb3dzZXItbG9nbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwcHg7XG59XG4ub2xkLWJyb3dzZXItaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDQzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2YxNTUzYztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogMzY4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg1OS45OHB4KSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cbi5vbGQtYnJvd3Nlci10ZXh0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgd2lkdGg6IDM2OHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC44cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODU5Ljk4cHgpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuLm9sZC1icm93c2VyLWJnIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2ltYWdlcy9vbGQtYnJvd3Nlci1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NTkuOThweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5vbGQtYnJvd3Nlci1mb290ZXIge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBeUhrREEsT0FBTyxDQUFQLGdEQUFPO0FBSVAsT0FBTyxDQUFQLG1FQUFPO0F6SHBEUCxBQUFBLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxnQkFBZ0IsR0FDMUI7O0FDSkQsbUJBQW1CO0FjQW5COzs7OztHQUtHO0FJd0NELGlFQUFpRTtBQUcvRDtvRkFDZ0Y7QUFFaEY7Ozs7O09BS0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUYxQ0UsVUFBVTtFRTBDUyxPQUFPO0VBUXJDLFdBQVcsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUU1QixvQkFBb0IsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUNuQyx3QkFBd0IsRUFBRSxJQUFJO0VBQUUsT0FBTyxFQUN4Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBRUQ7O09BRUc7QUFFSCxBQUFBLE9BQU87QUFDUCxLQUFLO0FBQ0wsTUFBTTtBQUNOLE1BQU07QUFDTixHQUFHO0FBQ0gsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O09BR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztF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QUFlLENyRDdoQlQsVUFBVSxFcUQ2aEJoQixlQUFlLENyRDdoQlQsVUFBVSxFcUQ2aEJoQixlQUFlLENyRHpoQlgsT0FBTztFcUR5aEJYLGVBQWUsQ3JEeGhCWCxZQUFZLEVxRHdoQmhCLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxDckQ3aEJULFNBQVMsRXFENmhCZixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxDckQ3aEJULFNBQVMsRXFENmhCZixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxDckQ3aEJULFNBQVMsRXFENmhCZixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxVQUFVLEVxRDZoQmhCLGVBQWUsQ3JEN2hCVCxVQUFVLEVxRDZoQmhCLGVBQWUsQ3JEN2hCVCxVQUFVLEVxRDZoQmhCLGVBQWUsQ3JEemhCWCxPQUFPO0VxRHloQlgsZUFBZSxDckR4aEJYLFlBQVksRXFEd2hCaEIsZUFBZSxDckQ3aEJULFNBQVMsRXFENmhCZixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxDckQ3aEJULFNBQVMsRXFENmhCZixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxDckQ3aEJULFNBQVMsRXFENmhCZixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxDckQ3aEJULFVBQVUsRXFENmhCaEIsZUFBZSxDckQ3aEJULFVBQVUsRXFENmhCaEIsZUFBZSxDckQ3aEJULFVBQVUsRXFENmhCaEIsZUFBZSxDckR6aEJYLE9BQU87RXFEeWhCWCxlQUFlLENyRHhoQlgsWUFBWSxFcUR3aEJoQixlQUFlLENyRDdoQlQsU0FBUyxFcUQ2aEJmLGVBQWUsQ3JEN2hCVCxTQUFTLEVxRDZoQmYsZUFBZSxD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QyxDQUFDLFFBQTRCO01BSXRDLFNBQVMsRUFBRSxRQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO01BSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO01BSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO01BSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO01BSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRCO01BSXRDLFNBQVMsRUFBRSxHQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO01BSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQTRCO01BSXRDLFNBQVMsRUFBRSxTQUE0QixHREtoQztJcUQrZlQsQXJEamdCUSxlcURpZ0JPLENyRGpnQlAsU0FBUyxDQUFXO01DUDFCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQTRC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MUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7TUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxTQUFTLENBQVc7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBNEI7TUFJdEMsU0FBUyxFQUFFLEdBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxTQUFTLENBQVc7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7TUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxTQUFTLENBQVc7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7TUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxTQUFTLENBQVc7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBNEI7TUFJdEMsU0FBUyxFQUFFLEdBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxVQUFVLENBQVU7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7TUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxVQUFVLENBQVU7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBNEI7TUFJdEMsU0FBUyxFQUFFLFNBQTRCLEdES2hDO0lxRCtmVCxBckRqZ0JRLGVxRGlnQk8sQ3JEamdCUCxVQUFVLENBQVU7TUNQMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBNEI7TUFJdEMsU0FBUyxFQUFFLElBQTRCLEdES2hDO0lxRCtmVCxBckQ1Zk0sZXFENGZTLENyRDVmVCxlQUFlLENBQU87TUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFJO0lxRDRmM0MsQXJEMWZNLGVxRDBmUyxDckQxZlQsY0FBYyxDQUFPO01BQUUsS0FBSyxFL0I2S0osRUFBRSxHK0I3S29CO0lxRDBmcEQsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsV0FBVyxDQUFXO01BQUUsS0FBSyxFQURsQixDQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsWUFBWSxDQUFVO01BQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsWUFBWSxDQUFVO01BQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0lxRHVmN0MsQXJEdmZRLGVxRHVmTyxDckR2ZlAsWUFBWSxDQUFVO01BQUUsS0FBSyxFQURsQixFQUFDLEdBQ3lCO0lxRHVmN0MsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBZ0IsQ0FBQyxHRFVuQjtJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBbUIsUUFBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxZQUFZLENBQVc7TUNSL0IsV0FBVyxFQUFtQixHQUFnQixHRFVyQztJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxZQUFZLENBQVc7TUNSL0IsV0FBVyxFQUFtQixHQUFnQixHRFVyQztJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxZQUFZLENBQVc7TUNSL0IsV0FBVyxFQUFtQixHQUFnQixHRFVyQztJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsYUFBYSxDQUFVO01DUi9CLFdBQVcsRUFBbUIsU0FBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLGFBQWEsQ0FBVTtNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0UzQkxQLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJZ0ZvZjVCLEFyRGxoQk0sZXFEa2hCUyxDckRsaEJULE9BQU8sQ0FBTztNQUNaLFVBQVUsRUFBRSxDQUFDO01BQ2IsU0FBUyxFQUFFLENBQUM7TUFDWixTQUFTLEVBQUUsSUFBSSxHQUNoQjtJcUQ4Z0JQLEFwRGhmRSxlb0RnZmEsQ3JEM2dCUCxjQUFjLEdDMkJoQixDQUFDLENBQUM7TUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFhO01BQ3ZCLFNBQVMsRUFBRSxJQUFhLEdBQ3pCO0lvRDZlSCxBcERoZkUsZW9EZ2ZhLENyRDNnQlAsY0FBYyxHQzJCaEIsQ0FBQyxDQUFDO01BQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtNQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtJb0Q2ZUgsQXBEaGZFLGVvRGdmYSxDckQzZ0JQLGNBQWMsR0MyQmhCLENBQUMsQ0FBQztNQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQWE7TUFDdkIsU0FBUyxFQUFFLFNBQWEsR0FDekI7SW9ENmVILEFwRGhmRSxlb0RnZmEsQ3JEM2dCUCxjQUFjLEdDMkJoQixDQUFDLENBQUM7TUFDSixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFhO01BQ3ZCLFNBQVMsRUFBRSxHQUFhLEdBQ3pCO0lvRDZlSCxBcERoZkUsZW9EZ2ZhLENyRDNnQlAsY0FBYyxHQzJCaEIsQ0FBQyxDQUFDO01BQ0osSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBYTtNQUN2QixTQUFTLEVBQUUsR0FBYSxHQUN6QjtJb0Q2ZUgsQXBEaGZFLGVvRGdmYSxDckQzZ0JQLGNBQWMsR0MyQmhCLENBQUMsQ0FBQztNQUNKLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQWE7TUFDdkIsU0FBUyxFQUFFLFNBQWEsR0FDekI7SW9ENmVILEFyRHRnQk0sZXFEc2dCUyxDckR0Z0JULFlBQVksQ0FBTztNQ012QixJQUFJLEVBQUUsUUFBUTtNQUNkLEtBQUssRUFBRSxJQUFJO01BQ1gsU0FBUyxFQUFFLElBQUksR0ROVjtJcURvZ0JQLEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUE0QjtNQUl0QyxTQUFTLEVBQUUsUUFBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtNQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtNQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtNQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtNQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUE0QjtNQUl0QyxTQUFTLEVBQUUsR0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtNQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFEaWdCTyxDckRqZ0JQLFNBQVMsQ0FBVztNQ1AxQixJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUE0QjtNQUl0QyxTQUFTLEVBQUUsU0FBNEIsR0RLaEM7SXFEK2ZULEFyRGpnQlEsZXFE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Q0FBVTtNQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtJcUR1ZjdDLEFyRHZmUSxlcUR1Zk8sQ3JEdmZQLFlBQVksQ0FBVTtNQUFFLEtBQUssRUFEbEIsRUFBQyxHQUN5QjtJcUR1ZjdDLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQWdCLENBQUMsR0RVbkI7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQW1CLFFBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxZQUFZLENBQVc7TUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxZQUFZLENBQVc7TUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLFlBQVksQ0FBVztNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxZQUFZLENBQVc7TUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVyQztJcUQrZVgsQXJEamZVLGVxRGlmSyxDckRqZkwsWUFBWSxDQUFXO01DUi9CLFdBQVcsRUFBbUIsR0FBZ0IsR0RVckM7SXFEK2VYLEFyRGpmVSxlcURpZkssQ3JEamZMLGFBQWEsQ0FBVTtNQ1IvQixXQUFXLEVBQW1CLFNBQWdCLEdEVXJDO0lxRCtlWCxBckRqZlUsZXFEaWZLLENyRGpmTCxhQUFhLENBQVU7TUNSL0IsV0FBVyxFQUFtQixTQUFnQixHRFVy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 */
