@charset "UTF-8";
/* FONTS
--------------------------------------------------------------------------------------------*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700|Titillium+Web:200,300,400,500,600);
/* VARIABLES
--------------------------------------------------------------------------------------------*/
/*
    BRAND COLORS
*/
/*
    DEFAULTS
*/
/*
    OTHER VARIABLES
*/
/*
    LIST FOR DEFAULT BG COLOR GENERATION
*/
/*
    LIST FOR DEFAULT FONT COLOR GENERATION
*/
/*
    LIST FOR DEFAULT FILL COLOR GENERATION
*/
/* FUNCTIONS
--------------------------------------------------------------------------------------------*/
/* MIXINS
--------------------------------------------------------------------------------------------*/
/* MIXIN - BOTTOM ITEMS NO BORDER 
----------------------------------------------------------------------------------------------------

    Removes border bottom from last items in a grid

*/
/* MIXIN - BORDER RESPONSIVENESS
----------------------------------------------------------------------------------------------------

    This mixin calculates the tranparent borders on grids, so you have borders between items, but not on the left side. 
    It accepts a pattern, (S1-MP2), which means on small 1 item per row, on medium-portrait 2, etc. 
    The first item can be set as large and therefore 100% width of parent container size.

*/
/*------------------------
mixin that calculates if text needs to be light or dark
depending on the background color passed.

From this W3C document: http://www.webmasterworld.com/r.cgi?f=88&d=9769&url=http://www.w3.org/TR/AERT#color-contrast
			
Color brightness is determined by the following formula: 
((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
------------------------*/
/**
 * 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-portrait=40em&medium=50em&large=64.0625em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #3e3e3d;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button {
  padding: 0;
  -webkit-appearance: none;
          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; }

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.8;
  text-rendering: optimizeLegibility; }

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 50em) {
  h1 {
    font-size: 2.36842rem; }
  h2 {
    font-size: 2.10526rem; }
  h3 {
    font-size: 1.84211rem; }
  h4 {
    font-size: 1.57895rem; }
  h5 {
    font-size: 1.31579rem; }
  h6 {
    font-size: 1.05263rem; } }

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

hr {
  clear: both;
  max-width: 78.94737rem;
  height: 0;
  margin: 1.31579rem 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.8; }

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: 700; }

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

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

abbr {
  border-bottom: 1px dotted #1d1d1b;
  color: #3e3e3d;
  cursor: help; }

figure {
  margin: 0; }

code {
  padding: 0.13158rem 0.32895rem 0.06579rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #1d1d1b; }

kbd {
  margin: 0;
  padding: 0.13158rem 0.26316rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #1d1d1b; }

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

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

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

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

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

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

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

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

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

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

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

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

@media print {
  * {
    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; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #3e3e3d;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #343434;
    color: #ffffff; }
  .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: #3e3e3d;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #313131;
      color: #ffffff; }
  .button.secondary {
    background-color: #777;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5f5f5f;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #1d1d1b; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #1d1d1b; }
  .button.warning {
    background-color: #ffae00;
    color: #1d1d1b; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #1d1d1b; }
  .button.alert {
    background-color: #ec5840;
    color: #1d1d1b; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #1d1d1b; }
  .button.hollow {
    border: 1px solid #3e3e3d;
    color: #3e3e3d; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #1f1f1e;
      color: #1f1f1e; }
    .button.hollow.primary {
      border: 1px solid #3e3e3d;
      color: #3e3e3d; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #1f1f1e;
        color: #1f1f1e; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .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 #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
  .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: #3e3e3d;
      color: #ffffff; }
    .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: #3e3e3d;
        color: #ffffff; }
    .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: #777;
        color: #ffffff; }
    .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: #1d1d1b; }
    .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: #1d1d1b; }
    .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: #ec5840;
        color: #1d1d1b; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #3e3e3d; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #3e3e3d; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #777; }
  .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: #ec5840; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

[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.56579rem;
  margin: 0 0 1.05263rem;
  padding: 0.52632rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(29, 29, 27, 0.1);
  font-family: inherit;
  font-size: 1.05263rem;
  font-weight: 400;
  color: #1d1d1b;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

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

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

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

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

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.92105rem;
  font-weight: 400;
  line-height: 1.8;
  color: #1d1d1b; }
  label.middle {
    margin: 0 0 1.05263rem;
    padding: 0.59211rem 0; }

.help-text {
  margin-top: -0.52632rem;
  font-size: 0.85526rem;
  font-style: italic;
  color: #1d1d1b; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1.05263rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .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; }

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.63158rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1.05263rem; }

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

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

.fieldset {
  margin: 1.18421rem 0;
  padding: 1.31579rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.19737rem;
    padding: 0 0.19737rem;
    background: #ffffff; }

select {
  height: 2.56579rem;
  margin: 0 0 1.05263rem;
  padding: 0.52632rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1.05263rem;
  line-height: normal;
  color: #1d1d1b;
  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.05263rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.57895rem;
  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: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

.form-error {
  display: none;
  margin-top: -0.52632rem;
  margin-bottom: 1.05263rem;
  font-size: 0.78947rem;
  font-weight: 700;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.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: #3e3e3d transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: #ffffff; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #3e3e3d transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #3e3e3d; }
  .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.05263rem;
  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%; }

.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-portrait {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

/* SLICK */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-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);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .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; }

/* PHOTOSWIPE */
/* STUCTURE
--------------------------------------------------------------------------------------------*/
figure {
  margin: 0; }

[data-anime-type="none"] [data-anime-elem] {
  opacity: 1; }

/* GENERICS
--------------------------------------------------------------------------------------------*/
/* GENERICS - ANCHORS
--------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 64.0625em) {
  a[href^="tel"] {
    pointer-events: none; } }

/* GENERICS - BUTTON GROUP
--------------------------------------------------------------------------------------------*/
button:active, .button:active {
  -webkit-transform: translateY(1px);
      -ms-transform: translateY(1px);
          transform: translateY(1px); }

button:focus, .button:focus {
  outline: none; }

.button {
  text-transform: uppercase;
  font-weight: 700;
  padding: 1.2em;
  text-align: left;
  border-radius: 6px;
  border: solid 3px;
  border-color: #ffffff;
  position: relative;
  transition: opacity .3s ease;
  will-change: opacity;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #2a47a1;
  background: linear-gradient(-90deg, #1a2c64, #2a47a1);
  color: #ffffff; }
  .button .svg-container {
    display: none;
    width: 2em;
    height: 2em; }
  .button svg {
    width: 2em;
    height: 2em;
    fill: currentColor; }
  .button.v_expanded {
    display: block;
    width: 100%; }
  .button.v_brand_primary {
    background: #2a47a1;
    color: #ffffff; }
  .button.v_brand_primary-darker {
    background: #1a2c64;
    color: #ffffff; }
  .button.v_brand_secondary {
    background: #f12215;
    color: #ffffff; }
  .button.v_brand_secondary-darker {
    background: #af140a;
    color: #ffffff; }
  .button.v_brand_tertiary {
    background: #646463;
    color: #ffffff; }
  .button.v_brand_tertiary-darker {
    background: #3e3e3d;
    color: #ffffff; }
  .button.v_brand_black {
    background: #1d1d1b;
    color: #ffffff; }
  .button.v_brand_white {
    background: #ffffff;
    color: #3e3e3d; }
  .button.v_brand_light-gray {
    background: #e4e4e3;
    color: #3e3e3d; }
  .button.v_brand_lightest-gray {
    background: #fafafd;
    color: #3e3e3d; }
  .button.v_ghost {
    background: none; }
  .button.v_ghost_brand_primary {
    background: none;
    color: #2a47a1;
    border-color: #2a47a1; }
  .button.v_ghost_brand_primary-darker {
    background: none;
    color: #1a2c64;
    border-color: #1a2c64; }
  .button.v_ghost_brand_secondary {
    background: none;
    color: #f12215;
    border-color: #f12215; }
  .button.v_ghost_brand_secondary-darker {
    background: none;
    color: #af140a;
    border-color: #af140a; }
  .button.v_ghost_brand_tertiary {
    background: none;
    color: #646463;
    border-color: #646463; }
  .button.v_ghost_brand_tertiary-darker {
    background: none;
    color: #3e3e3d;
    border-color: #3e3e3d; }
  .button.v_ghost_brand_black {
    background: none;
    color: #1d1d1b;
    border-color: #1d1d1b; }
  .button.v_ghost_brand_white {
    background: none;
    color: #ffffff;
    border-color: #ffffff; }
  .button.v_ghost_brand_light-gray {
    background: none;
    color: #e4e4e3;
    border-color: #e4e4e3; }
  .button.v_ghost_brand_lightest-gray {
    background: none;
    color: #fafafd;
    border-color: #fafafd; }
  .button.v_transparent {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    background: none;
    border: none;
    color: #3e3e3d; }
    .button.v_transparent:hover {
      color: #3e3e3d;
      opacity: 1; }
  .button.v_transparent_body {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    background: none;
    border: none;
    text-transform: none;
    color: #3e3e3d;
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 400;
    font-style: normal; }
    .button.v_transparent_body .svg-container {
      width: 1.4em;
      height: 1.4em; }
    .button.v_transparent_body svg {
      width: 1.4em;
      height: 1.4em; }
    .button.v_transparent_body:hover {
      color: #3e3e3d;
      opacity: 1; }
  .button.v_has-icon-left {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    padding: 0.84em; }
    .button.v_has-icon-left .svg-container {
      display: inline-block;
      margin-right: 1em; }
  .button.v_has-icon-right {
    padding: 0.84em; }
    .button.v_has-icon-right .svg-container {
      display: inline-block;
      margin-left: 1em; }
  .button:hover {
    opacity: .8; }

/* GENERICS - FORM
--------------------------------------------------------------------------------------------*/
input,
textarea,
select {
  border-color: rgba(100, 100, 99, 0.3) !important;
  border-radius: 3px !important;
  padding: 0rem 2rem .2rem 1rem !important;
  height: 3rem !important; }
  input:disabled,
  textarea:disabled,
  select:disabled {
    background-color: transparent;
    border-color: rgba(100, 100, 99, 0.15) !important;
    color: #646463 !important;
    opacity: 1 !important; }
  input::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder,
  select::-webkit-input-placeholder {
    font-style: italic;
    color: rgba(100, 100, 99, 0.6) !important; }
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder,
  select:-ms-input-placeholder {
    font-style: italic;
    color: rgba(100, 100, 99, 0.6) !important; }
  input::placeholder,
  textarea::placeholder,
  select::placeholder {
    font-style: italic;
    color: rgba(100, 100, 99, 0.6) !important; }
  input:focus,
  textarea:focus,
  select:focus {
    border-color: #646463 !important; }

select {
  padding: 0rem 2.5rem 0 1rem !important;
  background-position: right -18px center; }

textarea {
  min-height: 100px; }

input[type="submit"],
input[type="button"] {
  padding: 1rem 1rem 1rem 1rem !important;
  border: solid 3px #e4e4e3 !important; }

input::-webkit-contacts-auto-fill-button {
  visibility: hidden;
  display: none !important;
  pointer-events: none;
  position: absolute;
  right: 0; }

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  font-size: 0.9rem; }

/* GENERICS - HR
--------------------------------------------------------------------------------------------*/
hr {
  border-bottom: solid 1px rgba(29, 29, 27, 0.15);
  margin: 30px 0;
  max-width: 100%; }

/* LIST SEARCH
--------------------------------------------------------------------------------------------*/
.ac_list-search {
  list-style: none;
  margin: 0;
  border-top: solid 1px rgba(100, 100, 99, 0.2); }

.ac_list-search_item {
  border-bottom: solid 1px rgba(100, 100, 99, 0.2); }

.ac_list-search_item_link {
  padding: 2em 0;
  display: block;
  text-decoration: none !important; }

/* GENERICS - MAPS
--------------------------------------------------------------------------------------------*/
.gm-style {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif !important; }

/* GENERICS - SLICK SLIDER
--------------------------------------------------------------------------------------------*/
.slick-dots {
  position: absolute;
  z-index: 222;
  left: 50%;
  bottom: -2em;
  list-style: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
  @media print, screen and (min-width: 50em) {
    .slick-dots {
      bottom: -4em; } }
  .slick-dots button {
    border: solid 2px rgba(62, 62, 61, 0.1);
    width: 1em;
    height: 1em;
    border-radius: 100%;
    margin: 0 .15em;
    text-indent: -99999px; }
    .slick-dots button:hover {
      cursor: pointer; }
    .slick-dots button:focus {
      outline: none; }
  .slick-dots .slick-active button {
    background: #3e3e3d; }

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

button.slick-prev,
button.slick-next {
  position: absolute;
  z-index: 222;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3em;
  height: 3em;
  padding: .5em;
  background: #ffffff;
  border-radius: 3px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }
  button.slick-prev svg,
  button.slick-next svg {
    width: 2em;
    height: 2em; }
  button.slick-prev:hover,
  button.slick-next:hover {
    cursor: pointer; }
  button.slick-prev:focus,
  button.slick-next:focus {
    outline: none; }

button.slick-prev {
  left: 0; }

button.slick-next {
  right: 0; }

/* GENERICS - SVG
--------------------------------------------------------------------------------------------*/
svg {
  stroke-width: 2.5px; }

/* PARTS
--------------------------------------------------------------------------------------------*/
/* PART - CONTENT
--------------------------------------------------------------------------------------------*/
.ac_content {
  position: relative; }

.ac_content_container {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px; }
  .ac_content_container.a_collapsed {
    padding: 0; }

.ac_content_flex {
  padding: 0 10px; }
  @media print, screen and (min-width: 50em) {
    .ac_content_flex {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding: 0 10px; } }

.ac_content_full,
.ac_content_fullwidth {
  padding: 0 10px;
  width: 100%; }

.ac_content_half,
.ac_content_1-2 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_half,
    .ac_content_1-2 {
      -webkit-flex: 0 1 50%;
          -ms-flex: 0 1 50%;
              flex: 0 1 50%;
      max-width: 50%; } }

.ac_content_1-3 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_1-3 {
      -webkit-flex: 0 1 33.33333%;
          -ms-flex: 0 1 33.33333%;
              flex: 0 1 33.33333%;
      max-width: 33.33333%; } }

.ac_content_2-3 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_2-3 {
      -webkit-flex: 0 1 66.66667%;
          -ms-flex: 0 1 66.66667%;
              flex: 0 1 66.66667%;
      max-width: 66.66667%; } }

.ac_content_1-4 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_1-4 {
      -webkit-flex: 0 1 25%;
          -ms-flex: 0 1 25%;
              flex: 0 1 25%;
      max-width: 25%; } }

.ac_content_3-4 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_3-4 {
      -webkit-flex: 0 1 75%;
          -ms-flex: 0 1 75%;
              flex: 0 1 75%;
      max-width: 75%; } }

.ac_content_1-5 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_1-5 {
      -webkit-flex: 0 1 20%;
          -ms-flex: 0 1 20%;
              flex: 0 1 20%;
      max-width: 40%; } }

.ac_content_2-5 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_2-5 {
      -webkit-flex: 0 1 40%;
          -ms-flex: 0 1 40%;
              flex: 0 1 40%;
      max-width: 40%; } }

.ac_content_3-5 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_3-5 {
      -webkit-flex: 0 1 60%;
          -ms-flex: 0 1 60%;
              flex: 0 1 60%;
      max-width: 60%; } }

.ac_content_4-5 {
  padding: 0 10px;
  width: 100%; }
  @media print, screen and (min-width: 50em) {
    .ac_content_4-5 {
      -webkit-flex: 0 1 80%;
          -ms-flex: 0 1 80%;
              flex: 0 1 80%;
      max-width: 80%; } }

/* GRID - BASED ON DATA ATTRIBUTES
--------------------------------------------------------------------------------------------*/
[data-s-amount="1"] [data-s-amount-item] {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  [data-s-amount="2"] [data-s-amount-item] {
    width: 50%;
    max-width: 50%; } }

@media print, screen and (min-width: 40em) {
  [data-s-amount="3"] [data-s-amount-item] {
    width: 50%;
    max-width: 50%; } }

@media print, screen and (min-width: 50em) {
  [data-s-amount="3"] [data-s-amount-item] {
    width: 33.33333%;
    max-width: 33.33333%; } }

@media print, screen and (min-width: 40em) {
  [data-s-amount="4"] [data-s-amount-item] {
    width: 50%;
    max-width: 50%; } }

@media print, screen and (min-width: 64.0625em) {
  [data-s-amount="4"] [data-s-amount-item] {
    width: 25%;
    max-width: 25%; } }

@media print, screen and (min-width: 40em) {
  [data-s-amount="5"] [data-s-amount-item] {
    width: 50%;
    max-width: 50%; } }

@media print, screen and (min-width: 64.0625em) {
  [data-s-amount="5"] [data-s-amount-item] {
    width: 20%;
    max-width: 20%; } }

/* BACKDROP 
--------------------------------------------------------------------------------------------*/
.ac_backdrop {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden; }

.ac_backdrop_image-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

.ac_backdrop_image {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  top: 0;
  left: 0;
  opacity: 1; }

.ac_backdrop_video-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2; }
  .ac_backdrop_video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%); }

/* SECTION - DIVIDER 
--------------------------------------------------------------------------------------------*/
.ac_section_divider {
  pointer-events: none;
  /* SECTION - DIVIDER - ANGLED SVG
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - ANGLED SVG
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - ANGLED SVG
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - DOTTED
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - DOTTED
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - ANGLED SVG
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - SPIKED
--------------------------------------------------------------------------------------------*/
  /* SECTION - DIVIDER - SPIKED - SMALL
--------------------------------------------------------------------------------------------*/ }
  .ac_section_divider[data-s-divider-type="angled-svg"] .ac_section_divider_top {
    top: -3vw;
    position: absolute;
    z-index: 11;
    width: 100%; }
    .ac_section_divider[data-s-divider-type="angled-svg"] .ac_section_divider_top svg {
      position: absolute;
      width: 100%;
      height: 3vw;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px); }
  .ac_section_divider[data-s-divider-type="angled-svg"] .ac_section_divider_bottom {
    bottom: -3vw;
    position: absolute;
    z-index: 11;
    width: 100%;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
    .ac_section_divider[data-s-divider-type="angled-svg"] .ac_section_divider_bottom svg {
      position: absolute;
      width: 100%;
      height: 3vw;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px); }
  .ac_section_divider[data-s-divider-type="butt-cheeks"] .ac_section_divider_top {
    top: -50px;
    position: absolute;
    z-index: 11;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .ac_section_divider[data-s-divider-type="butt-cheeks"] .ac_section_divider_bottom {
    bottom: -50px;
    position: absolute;
    z-index: 11;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .ac_section_divider[data-s-divider-type="butt-cheeks"] .ac_section_divider_cheek_left {
    width: 50%;
    height: 50px;
    border-top-right-radius: 50px; }
  .ac_section_divider[data-s-divider-type="butt-cheeks"] .ac_section_divider_cheek_right {
    width: 50%;
    height: 50px;
    border-top-left-radius: 50px; }
  .ac_section_divider[data-s-divider-type="curved-cheeks"] .ac_section_divider_top {
    top: -10vw;
    position: absolute;
    z-index: 11;
    width: 100%; }
    .ac_section_divider[data-s-divider-type="curved-cheeks"] .ac_section_divider_top svg {
      position: absolute;
      width: 100%;
      height: 10vw;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px); }
  .ac_section_divider[data-s-divider-type="curved-cheeks"] .ac_section_divider_bottom {
    bottom: -10vw;
    position: absolute;
    z-index: 11;
    width: 100%;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
    .ac_section_divider[data-s-divider-type="curved-cheeks"] .ac_section_divider_bottom svg {
      position: absolute;
      width: 100%;
      height: 10vw;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px); }
  .ac_section_divider[data-s-divider-type="dotted"] .ac_section_divider_top {
    top: -19px;
    position: absolute;
    z-index: 11;
    width: 100%; }
  .ac_section_divider[data-s-divider-type="dotted"] .ac_section_divider_bottom {
    position: absolute;
    z-index: 11;
    width: 100%;
    bottom: -19.53px; }
    .ac_section_divider[data-s-divider-type="dotted"] .ac_section_divider_bottom svg {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ac_section_divider[data-s-divider-type="dotted"] svg {
    height: 20px;
    width: 100%; }
  .ac_section_divider[data-s-divider-type="semi-transparent"] .ac_section_divider_top {
    position: absolute;
    z-index: 11;
    width: 100%; }
    .ac_section_divider[data-s-divider-type="semi-transparent"] .ac_section_divider_top svg {
      position: absolute;
      width: 100%; }
    .ac_section_divider[data-s-divider-type="semi-transparent"] .ac_section_divider_top.p_polygon-1 {
      top: -3.9vw;
      z-index: 11; }
      .ac_section_divider[data-s-divider-type="semi-transparent"] .ac_section_divider_top.p_polygon-1 svg {
        height: 4vw; }
    .ac_section_divider[data-s-divider-type="semi-transparent"] .ac_section_divider_top.p_polygon-2 {
      top: -7vw;
      z-index: 10;
      opacity: .3; }
      .ac_section_divider[data-s-divider-type="semi-transparent"] .ac_section_divider_top.p_polygon-2 svg {
        height: 7vw; }
  .ac_section_divider[data-s-divider-type="smile"] .ac_section_divider_top {
    top: -10vw;
    position: absolute;
    z-index: 11;
    width: 100%; }
    .ac_section_divider[data-s-divider-type="smile"] .ac_section_divider_top svg {
      position: absolute;
      width: 100%;
      height: 10vw;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px); }
  .ac_section_divider[data-s-divider-type="smile"] .ac_section_divider_bottom {
    bottom: -10vw;
    position: absolute;
    z-index: 11;
    width: 100%;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
    .ac_section_divider[data-s-divider-type="smile"] .ac_section_divider_bottom svg {
      position: absolute;
      width: 100%;
      height: 10vw;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px); }
  .ac_section_divider[data-s-divider-type="spiked"] .ac_section_divider_top {
    top: -19px;
    position: absolute;
    z-index: 11;
    width: 100%; }
  .ac_section_divider[data-s-divider-type="spiked"] .ac_section_divider_bottom {
    position: absolute;
    z-index: 11;
    width: 100%;
    bottom: -25px; }
    .ac_section_divider[data-s-divider-type="spiked"] .ac_section_divider_bottom svg {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ac_section_divider[data-s-divider-type="spiked"] svg {
    height: 20px;
    width: 100%; }
  .ac_section_divider[data-s-divider-type="spiked-small"] .ac_section_divider_top {
    top: -16px;
    position: absolute;
    z-index: 11;
    width: 100%; }
  .ac_section_divider[data-s-divider-type="spiked-small"] .ac_section_divider_bottom {
    position: absolute;
    z-index: 11;
    width: 100%;
    bottom: -20px; }
    .ac_section_divider[data-s-divider-type="spiked-small"] .ac_section_divider_bottom svg {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .ac_section_divider[data-s-divider-type="spiked-small"] svg {
    height: 16px;
    width: 100%; }

/* PART - SECTION HEADING
--------------------------------------------------------------------------------------------*/
.ac_heading {
  margin: 0 auto; }
  @media print, screen and (min-width: 50em) {
    .ac_heading.v_title-centered_button-right .ac_heading_title {
      text-align: center; } }
  @media print, screen and (min-width: 50em) {
    .ac_heading.v_title-centered_button-right .ac_heading_link {
      position: absolute;
      right: 0;
      top: 1em; } }
  .ac_heading.v_title-centered_button-centered .ac_heading_link,
  .ac_heading.v_title-centered_button-centered .ac_heading_title {
    text-align: center; }
  .ac_heading.v_title-left_button-right .ac_heading_container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }

.ac_heading_container {
  padding: 0 20px;
  position: relative; }

.ac_heading_title {
  margin-bottom: 1em; }

.ac_heading_link {
  white-space: nowrap; }

/* PART - SOCIALS
--------------------------------------------------------------------------------------------*/
.ac_socials {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 39.9375em) {
    .ac_socials {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .ac_socials.v_smaller .ac_socials_link_icon {
    width: 3em;
    height: 3em;
    padding: 0.375em; }
    .ac_socials.v_smaller .ac_socials_link_icon svg {
      width: 2.25em;
      height: 2.25em; }
  .ac_socials.v_smallest .ac_socials_link_icon {
    width: 2em;
    height: 2em;
    padding: 0.25em; }
    .ac_socials.v_smallest .ac_socials_link_icon svg {
      width: 1.5em;
      height: 1.5em; }
  .ac_socials.v_hide_text .ac_socials_link_text {
    display: none; }
  @media screen and (max-width: 39.9375em) {
    .ac_socials.v_collapse-on-small {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      .ac_socials.v_collapse-on-small .ac_socials_link {
        margin-bottom: 0.6em; } }

.ac_socials_link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0.3em;
  margin-left: 0.3em; }

.ac_socials_link_icon {
  width: 4em;
  height: 4em;
  padding: 0.5em;
  background: #1d1d1b;
  border-radius: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  transition: all 0.3s ease; }
  .ac_socials_link_icon svg {
    width: 3em;
    height: 3em;
    fill: #ffffff;
    transition: all 0.3s ease; }

.ac_socials_link_text {
  margin-left: 0.6em; }

/* FOOTERS
--------------------------------------------------------------------------------------------*/
/* FOOTER 1 - 1
--------------------------------------------------------------------------------------------*/
[data-f-type="footer-1"] {
  /*  FOOTER 1 - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/
  background: #3e3e3d;
  font-size: 90%; }
  [data-f-type="footer-1"] .ac_footer_primary {
    background: #3e3e3d; }
    [data-f-type="footer-1"] .ac_footer_primary * {
      color: #ffffff; }
  [data-f-type="footer-1"] .ac_footer_primary_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 10px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media screen and (max-width: 64em) {
      [data-f-type="footer-1"] .ac_footer_primary_container {
        padding-bottom: 0; } }
  [data-f-type="footer-1"] .ac_footer_primary_column {
    padding: 0 10px;
    width: 100%; }
    @media screen and (max-width: 64em) {
      [data-f-type="footer-1"] .ac_footer_primary_column {
        margin-bottom: 40px; } }
    @media print, screen and (min-width: 50em) {
      [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(1) {
        -webkit-flex: 0 1 20%;
            -ms-flex: 0 1 20%;
                flex: 0 1 20%;
        max-width: 20%; }
      [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(2) {
        -webkit-flex: 0 1 40%;
            -ms-flex: 0 1 40%;
                flex: 0 1 40%;
        max-width: 40%; }
      [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(3) {
        -webkit-flex: 0 1 20%;
            -ms-flex: 0 1 20%;
                flex: 0 1 20%;
        max-width: 20%; }
      [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(4) {
        -webkit-flex: 0 1 20%;
            -ms-flex: 0 1 20%;
                flex: 0 1 20%;
        max-width: 20%; } }
    @media screen and (max-width: 49.9375em) {
      [data-f-type="footer-1"] .ac_footer_primary_column {
        text-align: center; } }
    @media screen and (max-width: 49.9375em) {
      [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(1) {
        display: none; }
      [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(3) {
        display: none; } }
  [data-f-type="footer-1"] .ac_footer_primary_link {
    color: white; }
    [data-f-type="footer-1"] .ac_footer_primary_link:hover {
      color: rgba(255, 255, 255, 0.7); }
  [data-f-type="footer-1"] .ac_footer_secondary {
    background: rgba(255, 255, 255, 0.1); }
    [data-f-type="footer-1"] .ac_footer_secondary * {
      color: rgba(255, 255, 255, 0.5); }
  [data-f-type="footer-1"] .ac_footer_secondary_container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px 10px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  [data-f-type="footer-1"] .ac_footer_secondary_column {
    padding: 0 10px;
    width: 100%; }
    @media print, screen and (min-width: 50em) {
      [data-f-type="footer-1"] .ac_footer_secondary_column:nth-child(1) {
        -webkit-flex: 0 1 50%;
            -ms-flex: 0 1 50%;
                flex: 0 1 50%;
        max-width: 50%; }
      [data-f-type="footer-1"] .ac_footer_secondary_column:nth-child(2) {
        -webkit-flex: 0 1 50%;
            -ms-flex: 0 1 50%;
                flex: 0 1 50%;
        max-width: 50%; } }
    @media screen and (max-width: 49.9375em) {
      [data-f-type="footer-1"] .ac_footer_secondary_column {
        text-align: center;
        margin-bottom: 20px; }
        [data-f-type="footer-1"] .ac_footer_secondary_column .ac_footer_secondary_link,
        [data-f-type="footer-1"] .ac_footer_secondary_column .ac_footer_secondary_text {
          display: block; } }
    @media print, screen and (min-width: 50em) {
      [data-f-type="footer-1"] .ac_footer_secondary_column {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        [data-f-type="footer-1"] .ac_footer_secondary_column .ac_footer_secondary_link,
        [data-f-type="footer-1"] .ac_footer_secondary_column .ac_footer_secondary_text {
          margin-right: 10px; }
        [data-f-type="footer-1"] .ac_footer_secondary_column:nth-child(1) {
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
        [data-f-type="footer-1"] .ac_footer_secondary_column:nth-child(2) {
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; }
          [data-f-type="footer-1"] .ac_footer_secondary_column:nth-child(2) .ac_footer_secondary_link,
          [data-f-type="footer-1"] .ac_footer_secondary_column:nth-child(2) .ac_footer_secondary_text {
            margin-left: 10px; } }
  [data-f-type="footer-1"] .ac_footer_secondary_text {
    white-space: nowrap; }
  [data-f-type="footer-1"] .ac_footer_secondary_link {
    color: rgba(255, 255, 255, 0.5);
    white-space: nowrap; }
    [data-f-type="footer-1"] .ac_footer_secondary_link:hover {
      color: rgba(255, 255, 255, 0.9); }
  [data-f-type="footer-1"] .ac_socials {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (max-width: 49.9375em) {
    [data-f-type="footer-1"] .ac_socials {
      margin: 20px 0; } }
  [data-f-type="footer-1"] .ac_socials_link_icon {
    background: #3e3e3d; }
    [data-f-type="footer-1"] .ac_socials_link_icon svg {
      fill: #ffffff; }
    @media print, screen and (min-width: 64.0625em) {
      [data-f-type="footer-1"] .ac_socials_link_icon:hover {
        background: #ffffff; }
        [data-f-type="footer-1"] .ac_socials_link_icon:hover svg {
          fill: #3e3e3d; } }
  @media screen and (max-width: 49.9375em) {
    [data-f-type="footer-1"] {
      padding-bottom: 60px; } }
  @media screen and (min-width: 50em) and (max-width: 64em) {
    [data-f-type="footer-1"] {
      padding-bottom: 80px; } }
  [data-f-type="footer-1"] h2 {
    font-size: 160%;
    margin-bottom: 20px;
    opacity: .5; }
  [data-f-type="footer-1"] ul {
    list-style: none;
    margin: 0; }
  [data-f-type="footer-1"] .ac_footer_column:nth-child(2) .ac_footer_link {
    line-height: 1.3;
    margin-bottom: 20px; }
  [data-f-type="footer-1"] .ac_footer_primary_link {
    display: block; }
  [data-f-type="footer-1"] .ac_footer_primary_link_copy_above {
    text-transform: uppercase;
    display: block;
    opacity: .5;
    font-size: 80%; }
  [data-f-type="footer-1"] .ac_footer_secondary {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 90%; }
  [data-f-type="footer-1"] .ac_footer_secondary_link {
    display: block; }

/* MENUS
--------------------------------------------------------------------------------------------*/
/* SECTION - MENU 2
--------------------------------------------------------------------------------------------

// for menus we use a global scope, so we can address the body aswell

*/
/* MENU 2
--------------------------------------------------------------------------------------------*/
[data-m-type="menu-2"] {
  position: relative;
  background: #ffffff; }
  @media screen and (max-width: 49.9375em) {
    [data-m-type="menu-2"] {
      width: 100%;
      z-index: 2222;
      position: fixed;
      box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); } }
  [data-m-type="menu-2"] ul.menu.dropdown {
    list-style: none;
    margin: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    [data-m-type="menu-2"] ul.menu.dropdown a {
      margin-right: 20px; }
    [data-m-type="menu-2"] ul.menu.dropdown.v_has-items-right a {
      margin-right: inherit;
      margin-left: 20px; }
  [data-m-type="menu-2"] ul.is-dropdown-submenu {
    list-style: none;
    margin: 0;
    padding: .4em 0; }
    [data-m-type="menu-2"] ul.is-dropdown-submenu li.is-submenu-item {
      line-height: 2; }
    [data-m-type="menu-2"] ul.is-dropdown-submenu a {
      width: 100%;
      display: inline-block;
      padding: 0 1em; }
  [data-m-type="menu-2"] a {
    white-space: nowrap; }
  @media screen and (max-width: 49.9375em) {
    [data-m-type="menu-2"] + .main-container {
      padding-top: 70px; } }
  [data-m-type="menu-2"] .search-form {
    padding-right: 10px; }

.ac_menu-2_cta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.ac_menu-2_cta_link {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .ac_menu-2_cta_link svg {
    width: 1.6em;
    height: 1.6em; }

.ac_menu-2_divider_after {
  position: relative;
  padding-right: 1em; }
  .ac_menu-2_divider_after:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 2px;
    border-right: solid 1px rgba(62, 62, 61, 0.1); }

.ac_menu-2_divider_before {
  position: relative;
  padding-left: 1em; }
  .ac_menu-2_divider_before:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 2px;
    border-left: solid 1px rgba(62, 62, 61, 0.1); }

.ac_menu-2_sticky_container {
  margin: 0 auto;
  transition: height .3s ease; }

.ac_menu-2_sticky {
  width: 100%;
  z-index: 2221;
  transition: background-color .3s ease; }
  .ac_menu-2_sticky.is-stuck {
    background-color: #ffffff;
    z-index: 2222;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }
    .ac_menu-2_sticky.is-stuck .ac_menu-2_logo_img {
      width: 98px; }
  @media screen and (max-width: 49.9375em) {
    .ac_menu-2_sticky {
      display: none; } }

.ac_menu-2_logo_container {
  padding: 20px 0; }
  @media screen and (max-width: 49.9375em) {
    .ac_menu-2_logo_container {
      padding: 0; } }
  @media print, screen and (min-width: 50em) {
    .ac_menu-2_logo_container {
      -webkit-flex: 0 0 140px;
          -ms-flex: 0 0 140px;
              flex: 0 0 140px;
      margin-right: 20px; } }

a.ac_menu-2_logo_link {
  will-change: contents;
  transition: opacity .3s ease;
  margin: 0; }
  a.ac_menu-2_logo_link:hover {
    opacity: .8; }

.ac_menu-2_logo_img {
  width: 140px;
  transition: width .3s ease; }
  @media screen and (max-width: 49.9375em) {
    .ac_menu-2_logo_img {
      height: 50px;
      width: initial; } }

@media screen and (max-width: 49.9375em) {
  .ac_menu-2_bar_top {
    display: none; } }

.ac_menu-2_bar_top {
  width: 100%;
  padding: 10px 20px;
  position: relative;
  z-index: 2223;
  background: #e4e4e3; }

.ac_menu-2_bar_top_container {
  padding: 0 20px;
  max-width: 1000px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.ac_menu-2_bar_top_content {
  line-height: 2; }

.ac_menu-2_main {
  position: relative;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 2222;
  padding: 0 20px;
  max-width: 1000px;
  background: #ffffff; }
  @media screen and (max-width: 49.9375em) {
    .ac_menu-2_main {
      padding: 10px; } }

@media print, screen and (min-width: 50em) {
  .ac_menu-2_main_container {
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    transition: opacity .3s ease, visibility 0s .6s; } }

.ac_menu-2_main_content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }
  @media screen and (max-width: 49.9375em) {
    .ac_menu-2_main_content {
      display: none; } }

@media screen and (max-width: 49.9375em) {
  .ac_menu-2_bar_bottom {
    display: none; } }

.ac_menu-2_bar_bottom {
  width: 100%;
  padding: 10px 20px;
  position: relative;
  z-index: 2223;
  background: #e4e4e3; }

.ac_menu-2_bar_bottom_container {
  padding: 0 20px;
  max-width: 1000px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.ac_menu-2_bar_bottom_content {
  line-height: 2; }

.ac_menu-2_btn-search {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .ac_menu-2_btn-search svg {
    width: 1.6em;
    height: 1.6em; }

.ac_menu-2_mobile_content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media print, screen and (min-width: 50em) {
    .ac_menu-2_mobile_content {
      display: none; } }

.ac_menu-2_mobile_content_divider {
  width: 1px;
  margin: 0 1em;
  background: rgba(62, 62, 61, 0.1); }

.ac_menu-2_mobile_btn {
  height: 50px;
  width: 50px;
  padding: 12.5px 12.5px; }
  .ac_menu-2_mobile_btn svg {
    width: 25px !important;
    height: 25px !important;
    fill: #3e3e3d; }

.ac_menu-2_mobile_btn-hamburger {
  height: 50px;
  width: 50px;
  padding: 12px 10px; }
  .ac_menu-2_mobile_btn-hamburger .burger-icon {
    position: relative;
    margin-top: 6px;
    margin-bottom: 6px;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    .ac_menu-2_mobile_btn-hamburger .burger-icon, .ac_menu-2_mobile_btn-hamburger .burger-icon::before, .ac_menu-2_mobile_btn-hamburger .burger-icon::after {
      display: block;
      width: 25px;
      height: 2px;
      background-color: #646463;
      transition-property: background-color, -webkit-transform;
      transition-property: background-color, transform;
      transition-property: background-color, transform, -webkit-transform;
      transition-duration: 0.3s; }
    .ac_menu-2_mobile_btn-hamburger .burger-icon::before, .ac_menu-2_mobile_btn-hamburger .burger-icon::after {
      position: absolute;
      content: ""; }
    .ac_menu-2_mobile_btn-hamburger .burger-icon::before {
      top: -6px; }
    .ac_menu-2_mobile_btn-hamburger .burger-icon::after {
      top: 6px; }
  @media print, screen and (min-width: 50em) {
    .ac_menu-2_mobile_btn-hamburger {
      display: none; } }

body.s_is-open_menu-mobile .burger-icon {
  background-color: transparent; }

body.s_is-open_menu-mobile .burger-icon::before {
  -webkit-transform: translateY(6px) rotate(45deg);
  -ms-transform: translateY(6px) rotate(45deg);
  transform: translateY(6px) rotate(45deg); }

body.s_is-open_menu-mobile .burger-icon::after {
  -webkit-transform: translateY(-6px) rotate(-45deg);
  -ms-transform: translateY(-6px) rotate(-45deg);
  transform: translateY(-6px) rotate(-45deg); }

.ac_menu-2_overlay_container {
  position: fixed;
  z-index: 2221;
  width: 400px;
  height: 100%;
  top: 0;
  right: 0;
  background: #fafafd;
  -webkit-transform: translateX(400px);
      -ms-transform: translateX(400px);
          transform: translateX(400px);
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease;
  padding-top: 70px; }
  @media screen and (max-width: 39.9375em) {
    .ac_menu-2_overlay_container {
      width: 90vw;
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%); } }
  @media print, screen and (min-width: 50em) {
    .ac_menu-2_overlay_container {
      display: none; } }

.ac_menu-2_overlay_scroll_container {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100%; }

.ac_menu-2_overlay_scroll_container_inner {
  min-height: 100vh; }

.ac_menu-2_overlay_menu_container {
  padding: 20px; }

ul.ac_menu-2_overlay_menu_primary {
  list-style: none;
  margin: 0;
  border-top: solid 1px rgba(100, 100, 99, 0.2);
  padding-bottom: 2em; }
  ul.ac_menu-2_overlay_menu_primary a {
    display: block;
    text-align: center; }
  ul.ac_menu-2_overlay_menu_primary > li {
    border-bottom: solid 1px rgba(100, 100, 99, 0.2); }
    ul.ac_menu-2_overlay_menu_primary > li > a {
      padding: 10px 0; }
  ul.ac_menu-2_overlay_menu_primary ul.is-accordion-submenu {
    list-style: none;
    margin-left: 1em;
    margin-bottom: 1em; }
    ul.ac_menu-2_overlay_menu_primary ul.is-accordion-submenu a {
      padding: 5px 0; }

ul.ac_menu-2_overlay_menu_secondary {
  list-style: none;
  margin: 0; }
  ul.ac_menu-2_overlay_menu_secondary a {
    display: block;
    text-align: center;
    padding: 5px 0; }

body.s_is-open_menu-mobile {
  overflow: hidden; }
  body.s_is-open_menu-mobile .ac_menu-2_overlay_container {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0); }

.ac_menu-2_overlay_backdrop {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(62, 62, 61, 0.8);
  z-index: 2220;
  height: 0;
  opacity: 0;
  transition: opacity .3s ease .3s, height 0s .6s; }
  @media print, screen and (min-width: 50em) {
    .ac_menu-2_overlay_backdrop {
      display: none; } }

body.s_is-open_menu-mobile .ac_menu-2_overlay_backdrop {
  height: 100%;
  opacity: 1;
  transition: height 0s, opacity .3s ease; }

.ac_menu-2_search_container {
  position: absolute;
  top: 50%;
  right: 0;
  width: 50%;
  -webkit-transform: translateY(-50%) translateX(-2em);
      -ms-transform: translateY(-50%) translateX(-2em);
          transform: translateY(-50%) translateX(-2em);
  opacity: 0;
  pointer-events: none;
  transition: all .3s ease; }
  @media screen and (max-width: 49.9375em) {
    .ac_menu-2_search_container {
      top: 50%;
      right: 1em; } }

body.IE10 .ac_menu-2_search_container {
  display: none; }

.ac_menu-2_search_input {
  margin: 0; }

.ac_menu-2_search_close {
  position: absolute;
  right: .7em;
  top: 0;
  width: 3em;
  height: 3em;
  padding: .7em; }
  .ac_menu-2_search_close svg {
    width: 1.6em;
    height: 1.6em;
    fill: #3e3e3d; }

body.s_is-open_menu-search.IE10 .ac_menu-2_search_container {
  display: block; }

body.s_is-open_menu-search .ac_menu-2_search_container {
  -webkit-transform: translateX(0) translateY(-50%);
      -ms-transform: translateX(0) translateY(-50%);
          transform: translateX(0) translateY(-50%);
  opacity: 1;
  pointer-events: auto; }
  @media screen and (max-width: 49.9375em) {
    body.s_is-open_menu-search .ac_menu-2_search_container {
      -webkit-transform: translateX(0) translateY(-50%);
          -ms-transform: translateX(0) translateY(-50%);
              transform: translateX(0) translateY(-50%); } }

.ac_socials_link_icon {
  background: #ffffff; }
  .ac_socials_link_icon svg {
    fill: #3e3e3d; }
  @media print, screen and (min-width: 64.0625em) {
    .ac_socials_link_icon:hover {
      background: #3e3e3d; }
      .ac_socials_link_icon:hover svg {
        fill: #ffffff; } }

/*--------------------------------------------------------------------------------------------*/
/* SECTIONS
--------------------------------------------------------------------------------------------*/
/* BRANDS - 1
--------------------------------------------------------------------------------------------*/
/* AC_S_BRANDS - GLOBALS
--------------------------------------------------------------------------------------------*/
[data-s-type="brands"] {
  position: relative;
  padding: 20px 0; }
  @media print, screen and (min-width: 50em) {
    [data-s-type="brands"] {
      padding: 0 0 10px 0; } }

.ac_brands_container {
  position: relative;
  z-index: 2;
  margin: 2em auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.ac_brands_item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1.4em;
  width: 50%;
  max-width: 50%;
  padding: 0 20px;
  padding: 0 20px;
  border-left: solid 1px rgba(100, 100, 99, 0.2); }
  .ac_brands_item.v_smaller-logo .ac_brands_item_logo {
    -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
            transform: scale(0.8); }
  .ac_brands_item.v_larger-logo .ac_brands_item_logo {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2); }
  @media print, screen and (min-width: 64.0625em) {
    .ac_brands_item:hover .ac_brands_item_logo {
      opacity: 0.6; }
    .ac_brands_item:hover .ac_brands_item_description {
      color: #3e3e3d; } }
  @media screen and (max-width: 39.9375em) {
    .ac_brands_item:nth-last-child(-n + 1) .ac_brands_item_container {
      border-bottom: none; } }

.ac_brands_item_container {
  height: 100%;
  position: relative;
  background: none;
  padding: 20px 0;
  border-bottom: solid 1px rgba(100, 100, 99, 0.2); }

[data-s-type="brands"][data-s-amount="2"] [data-s-amount-item]:nth-child(2n+1) {
  border-left: transparent; }

@media screen and (max-width: 49.9375em) {
  [data-s-type="brands"][data-s-amount="3"] [data-s-amount-item]:nth-child(2n+1) {
    border-left: transparent; } }

@media print, screen and (min-width: 50em) {
  [data-s-type="brands"][data-s-amount="3"] [data-s-amount-item]:nth-child(3n+1) {
    border-left: transparent; } }

@media screen and (max-width: 64em) {
  [data-s-type="brands"][data-s-amount="4"] [data-s-amount-item]:nth-child(2n+1) {
    border-left: transparent; } }

@media print, screen and (min-width: 64.0625em) {
  [data-s-type="brands"][data-s-amount="4"] [data-s-amount-item]:nth-child(4n+1) {
    border-left: transparent; } }

@media screen and (max-width: 64em) {
  [data-s-type="brands"][data-s-amount="5"] [data-s-amount-item]:nth-child(2n+1) {
    border-left: transparent; } }

@media print, screen and (min-width: 64.0625em) {
  [data-s-type="brands"][data-s-amount="5"] [data-s-amount-item]:nth-child(5n+1) {
    border-left: transparent; } }

[data-s-type="brands"][data-s-amount="2"] [data-s-amount-item]:nth-last-child(-n + 2) [data-border-bottom] {
  border-bottom-color: transparent; }

@media screen and (max-width: 49.9375em) {
  [data-s-type="brands"][data-s-amount="3"] [data-s-amount-item]:nth-last-child(-n + 2) [data-border-bottom] {
    border-bottom-color: transparent; } }

@media print, screen and (min-width: 50em) {
  [data-s-type="brands"][data-s-amount="3"] [data-s-amount-item]:nth-last-child(-n + 3) [data-border-bottom] {
    border-bottom-color: transparent; } }

@media screen and (max-width: 64em) {
  [data-s-type="brands"][data-s-amount="4"] [data-s-amount-item]:nth-last-child(-n + 2) [data-border-bottom] {
    border-bottom-color: transparent; } }

@media print, screen and (min-width: 64.0625em) {
  [data-s-type="brands"][data-s-amount="4"] [data-s-amount-item]:nth-last-child(-n + 4) [data-border-bottom] {
    border-bottom-color: transparent; } }

@media screen and (max-width: 64em) {
  [data-s-type="brands"][data-s-amount="5"] [data-s-amount-item]:nth-last-child(-n + 2) [data-border-bottom] {
    border-bottom-color: transparent; } }

@media print, screen and (min-width: 64.0625em) {
  [data-s-type="brands"][data-s-amount="5"] [data-s-amount-item]:nth-last-child(-n + 5) [data-border-bottom] {
    border-bottom-color: transparent; } }

.ac_brands_item_description {
  display: none; }

.ac_brands_item_logo_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .ac_brands_item_logo_container {
      padding: 0; } }

.ac_brands_item_logo {
  -webkit-filter: brightness(50%) hue-rotate(30deg);
          filter: brightness(50%) hue-rotate(30deg);
  width: 60%;
  height: 100px;
  max-width: 200px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  transition: opacity 0.3s ease;
  opacity: 1; }

/*--------------------------------------------------------------------------------------------*/
/* PARTNERS - 1
--------------------------------------------------------------------------------------------*/
/* AC_S_PARTNERS - GLOBALS
--------------------------------------------------------------------------------------------*/
[data-s-type="partners"] {
  position: relative;
  padding: 20px 0; }
  @media print, screen and (min-width: 50em) {
    [data-s-type="partners"] {
      padding: 0 0 10px 0; } }
  [data-s-type="partners"].v_is-slider.v_has-dots .ac_brands_container {
    margin-bottom: 4em; }
  [data-s-type="partners"].v_is-slider .slick-dots {
    bottom: -4em; }

.ac_partners_container {
  position: relative;
  z-index: 2;
  margin: 2em auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 0 10px; }

.ac_partners_item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0;
  width: 50%;
  max-width: 50%;
  padding: 0 20px;
  padding: 0 10px; }
  .ac_partners_item.v_smaller-logo .ac_partners_item_logo {
    -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
            transform: scale(0.8); }
  .ac_partners_item.v_larger-logo .ac_partners_item_logo {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2); }

@media print, screen and (min-width: 64.0625em) {
  a.ac_partners_item:hover .ac_partners_item_logo {
    opacity: 0.6; }
  a.ac_partners_item:hover .ac_partners_item_description {
    color: #3e3e3d; } }

.ac_partners_item_container {
  height: 100%;
  position: relative;
  background: none;
  padding: 0; }

.ac_partners_item_description {
  display: none; }

.ac_partners_item_logo_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .ac_partners_item_logo_container {
      padding: 0; } }

.ac_partners_item_logo {
  width: 60%;
  height: 100px;
  max-width: 140px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  transition: opacity 0.3s ease;
  opacity: 1; }

[data-s-type="partners"].v_is-slider .ac_partners_container {
  display: block;
  z-index: inherit;
  max-height: 100px;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.3s ease; }
  [data-s-type="partners"].v_is-slider .ac_partners_container.slick-initialized {
    max-height: 100px;
    overflow: visible;
    opacity: 1; }

[data-s-type="partners"].v_is-slider [data-s-amount-item] {
  margin-bottom: 0; }

[data-s-type="partners"].v_is-slider [data-border-bottom] {
  border-bottom-color: transparent; }

@media screen and (max-width: 39.9375em) {
  [data-s-type="partners"].v_is-slider [data-s-amount-item] {
    border-left-color: transparent; } }

/*--------------------------------------------------------------------------------------------*/
[data-s-type="partners"] .slick-track {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/* CTA
--------------------------------------------------------------------------------------------*/
[data-s-type="cta"] {
  /* AC_S_CTA - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/
  border-top: solid 1px rgba(100, 100, 99, 0.2); }
  [data-s-type="cta"] .ac_cta_container {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding: 0 20px; }
    [data-s-type="cta"] .ac_cta_container p {
      line-height: 1.5; }
  [data-s-type="cta"] .ac_cta_column {
    width: 100%; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta"] .ac_cta_column .button {
        margin-right: 10px;
        margin-bottom: 0px; } }
    [data-s-type="cta"] .ac_cta_column img {
      border-bottom: solid 1px #ffffff;
      max-width: 220px; }
  @media print, screen and (min-width: 50em) {
    [data-s-type="cta"] .ac_cta_container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  [data-s-type="cta"] .ac_cta_column {
    padding: 40px 0; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta"] .ac_cta_column:nth-child(1) {
        text-align: right;
        padding-right: 40px;
        border-right: solid 1px rgba(100, 100, 99, 0.2);
        margin-right: 20px;
        width: 100%; } }
    [data-s-type="cta"] .ac_cta_column:nth-child(1) p {
      margin: 0; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta"] .ac_cta_column:nth-child(2) {
        margin-left: 20px; } }
    [data-s-type="cta"] .ac_cta_column:nth-child(2) a svg {
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0);
      transition: all .3s; }
    [data-s-type="cta"] .ac_cta_column:nth-child(2) a:hover svg {
      -webkit-transform: translateX(4px);
          -ms-transform: translateX(4px);
              transform: translateX(4px); }

/* CTA TEXT-BUTTON
--------------------------------------------------------------------------------------------*/
[data-s-type="cta-text-button"] {
  /* AC_S_CTA - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="cta-text-button"] .ac_cta_container {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding: 0 20px; }
    [data-s-type="cta-text-button"] .ac_cta_container p {
      line-height: 1.5; }
  [data-s-type="cta-text-button"] .ac_cta_column {
    width: 100%; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta-text-button"] .ac_cta_column .button {
        margin-right: 10px;
        margin-bottom: 0px; } }
    [data-s-type="cta-text-button"] .ac_cta_column img {
      border-bottom: solid 1px #ffffff;
      max-width: 220px; }
  [data-s-type="cta-text-button"] h2 {
    margin-bottom: 0; }
  @media print, screen and (min-width: 50em) {
    [data-s-type="cta-text-button"] .ac_cta_container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  [data-s-type="cta-text-button"] .ac_cta_column {
    width: 100%;
    text-align: center; }
    [data-s-type="cta-text-button"] .ac_cta_column:nth-child(1) {
      padding-bottom: 20px;
      border-bottom: solid 1px rgba(255, 255, 255, 0.2);
      margin-bottom: 40px; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta-text-button"] .ac_cta_column:nth-child(1) {
        width: 50%;
        max-width: 50%;
        padding-right: 20px;
        padding-bottom: inherit;
        border-bottom: inherit;
        margin-bottom: inherit;
        border-right: solid 1px rgba(255, 255, 255, 0.2);
        margin-right: 20px;
        text-align: left;
        text-align: right; }
      [data-s-type="cta-text-button"] .ac_cta_column:nth-child(2) {
        width: 50%;
        max-width: 50%;
        text-align: left; } }
  [data-s-type="cta-text-button"] .ac_socials {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }

/* CTA TEXT-IMAGE
--------------------------------------------------------------------------------------------*/
[data-s-type="cta-text-image"] {
  /* AC_S_CTA - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="cta-text-image"] .ac_cta_container {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding: 0 20px; }
    [data-s-type="cta-text-image"] .ac_cta_container p {
      line-height: 1.5; }
  [data-s-type="cta-text-image"] .ac_cta_column {
    width: 100%; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta-text-image"] .ac_cta_column .button {
        margin-right: 10px;
        margin-bottom: 0px; } }
    [data-s-type="cta-text-image"] .ac_cta_column img {
      border-bottom: solid 1px rgba(255, 255, 255, 0.3);
      max-width: 220px; }
  @media print, screen and (min-width: 50em) {
    [data-s-type="cta-text-image"] .ac_cta_container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  [data-s-type="cta-text-image"] .ac_cta_column {
    width: 100%;
    text-align: center; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta-text-image"] .ac_cta_column:nth-child(1) {
        width: 60%;
        max-width: 60%;
        padding-right: 20px;
        padding-bottom: inherit;
        text-align: left;
        text-align: right; }
      [data-s-type="cta-text-image"] .ac_cta_column:nth-child(2) {
        width: 40%;
        max-width: 40%;
        text-align: left; } }
  [data-s-type="cta-text-image"] .ac_socials {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }

/* CTA TEXT-BUTTON
--------------------------------------------------------------------------------------------*/
[data-s-type="cta-text-socials"] {
  /* AC_S_CTA - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="cta-text-socials"] .ac_cta_container {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding: 0 20px; }
    [data-s-type="cta-text-socials"] .ac_cta_container p {
      line-height: 1.5; }
  [data-s-type="cta-text-socials"] .ac_cta_column {
    width: 100%; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="cta-text-socials"] .ac_cta_column .button {
        margin-right: 10px;
        margin-bottom: 0px; } }
    [data-s-type="cta-text-socials"] .ac_cta_column img {
      border-bottom: solid 1px #ffffff;
      max-width: 220px; }
  [data-s-type="cta-text-socials"] h2 {
    margin-bottom: 20px; }
  [data-s-type="cta-text-socials"] .ac_cta_column {
    width: 100%;
    text-align: center; }
    [data-s-type="cta-text-socials"] .ac_cta_column:nth-child(1) {
      display: none; }
  [data-s-type="cta-text-socials"] .ac_socials {
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  [data-s-type="cta-text-socials"] .ac_socials_link {
    padding: 10px 20px; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="cta-text-socials"] .ac_socials_link {
        width: 100%; } }

/* HERO - 2
--------------------------------------------------------------------------------------------*/
[data-s-type="hero"] {
  /* AC_S_HERO - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="hero"] .ac_hero_container {
    margin: 0 auto;
    height: 80vh;
    min-height: 500px;
    position: relative;
    display: block; }
    [data-s-type="hero"] .ac_hero_container:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 25vh;
      background: linear-gradient(0deg, rgba(56, 56, 56, 0), #383838);
      z-index: 1; }
  [data-s-type="hero"] .ac_hero_slides {
    position: relative;
    z-index: 3;
    height: 100%;
    display: block;
    margin: 0 auto;
    max-height: 100%;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="hero"] .ac_hero_slides.slick-initialized {
      max-height: inherit;
      opacity: 1; }
  [data-s-type="hero"] .ac_hero_slide {
    will-change: contents;
    position: relative; }
  [data-s-type="hero"] .ac_hero_slide_inner {
    max-width: 800px;
    margin: 0 auto;
    height: 100%;
    position: relative;
    z-index: 2;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    will-change: contents;
    padding: 0 20px; }
    @media screen and (min-width: 1150px) {
      [data-s-type="hero"] .ac_hero_slide_inner {
        padding: 0 20px; } }
  [data-s-type="hero"] .ac_hero_slide_content_container {
    -webkit-transform: translateY(-3em);
        -ms-transform: translateY(-3em);
            transform: translateY(-3em);
    will-change: contents; }
  [data-s-type="hero"] .ac_hero_slide_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  [data-s-type="hero"] .ac_hero_slide_content_inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  [data-s-type="hero"] .ac_hero_slide_content_text {
    -webkit-flex: 0 1 100%;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    max-width: 100%; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="hero"] .ac_hero_slide_content_text {
        -webkit-flex: 0 1 70%;
            -ms-flex: 0 1 70%;
                flex: 0 1 70%;
        max-width: 70%; } }
  [data-s-type="hero"] .ac_hero_slide_content_image {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex: 0 1 30%;
        -ms-flex: 0 1 30%;
            flex: 0 1 30%;
    max-width: 30%; }
    [data-s-type="hero"] .ac_hero_slide_content_image img {
      max-width: initial; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="hero"] .ac_hero_slide_content_image {
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: -1;
        opacity: 0.4;
        max-width: initial; } }
  [data-s-type="hero"] .slick-dots button {
    border: solid 2px rgba(255, 255, 255, 0.5);
    background: transparent; }
  [data-s-type="hero"] .slick-dots .slick-active button {
    border: solid 2px rgba(255, 255, 255, 0.5);
    background: #ffffff; }
  [data-s-type="hero"] .slick-list {
    height: 100%; }
  [data-s-type="hero"] .slick-track {
    height: 100%; }
  [data-s-type="hero"] .slick-prev,
  [data-s-type="hero"] .slick-next {
    display: none !important;
    background: none;
    padding: 0;
    box-shadow: none;
    width: 1.5em;
    height: 1.5em; }
    @media screen and (min-width: 1150px) {
      [data-s-type="hero"] .slick-prev,
      [data-s-type="hero"] .slick-next {
        width: 2em;
        height: 2em; } }
    [data-s-type="hero"] .slick-prev svg,
    [data-s-type="hero"] .slick-next svg {
      fill: #ffffff;
      width: 1.5em;
      height: 1.5em;
      transition: all 0.3s ease; }
      @media screen and (min-width: 1150px) {
        [data-s-type="hero"] .slick-prev svg,
        [data-s-type="hero"] .slick-next svg {
          width: 2em;
          height: 2em; } }
    @media print, screen and (min-width: 64.0625em) {
      [data-s-type="hero"] .slick-prev:hover svg,
      [data-s-type="hero"] .slick-next:hover svg {
        fill: rgba(255, 255, 255, 0.5); } }
    @media screen and (min-width: 700px) {
      [data-s-type="hero"] .slick-prev,
      [data-s-type="hero"] .slick-next {
        display: block !important; } }
  [data-s-type="hero"] .slick-prev {
    top: initial;
    bottom: 10em;
    left: 50%;
    -webkit-transform: translateX(-10.5em);
        -ms-transform: translateX(-10.5em);
            transform: translateX(-10.5em); }
  [data-s-type="hero"] .slick-next {
    top: initial;
    bottom: 10em;
    left: 50%;
    -webkit-transform: translateX(9em);
        -ms-transform: translateX(9em);
            transform: translateX(9em); }
  [data-s-type="hero"] .slick-dots {
    bottom: 10em; }
  [data-s-type="hero"] .ac_hero_link_to-content {
    position: absolute;
    z-index: 1111;
    bottom: 4em;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    display: none; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="hero"] .ac_hero_link_to-content {
        display: block; } }
    @media print, screen and (min-width: 64.0625em) {
      [data-s-type="hero"] .ac_hero_link_to-content:hover {
        cursor: pointer; } }
    [data-s-type="hero"] .ac_hero_link_to-content .svg-container {
      width: 4em;
      height: 4em; }
    [data-s-type="hero"] .ac_hero_link_to-content svg {
      width: 4em;
      height: 4em;
      fill: #ffffff;
      transition: all 0.3s ease; }
    [data-s-type="hero"] .ac_hero_link_to-content:active {
      -webkit-transform: translateX(-50%) translateY(2px);
          -ms-transform: translateX(-50%) translateY(2px);
              transform: translateX(-50%) translateY(2px); }
    [data-s-type="hero"] .ac_hero_link_to-content:hover svg {
      fill: rgba(255, 255, 255, 0.5); }
  [data-s-type="hero"] h1, [data-s-type="hero"] h2, [data-s-type="hero"] h3 {
    line-height: 1; }
  [data-s-type="hero"] p {
    line-height: 1.5; }
  [data-s-type="hero"] *:focus {
    outline: none; }
  @media screen and (max-width: 49.9375em) {
    [data-s-type="hero"] .ac_hero_container {
      height: 50vh;
      min-height: 400px; } }
  @media screen and (max-width: 39.9375em) {
    [data-s-type="hero"] .ac_hero_slide_content_container {
      -webkit-transform: translateY(-1.5em);
          -ms-transform: translateY(-1.5em);
              transform: translateY(-1.5em); } }
  [data-s-type="hero"] .ac_hero_slide_content_text {
    color: #ffffff; }
  [data-s-type="hero"] .ac_hero_slide_content_text_title * {
    font-size: 140%;
    color: #ffffff; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="hero"] .ac_hero_slide_content_text_title * {
        font-size: 180%; } }
  @media screen and (max-width: 39.9375em) {
    [data-s-type="hero"] .slick-dots {
      bottom: 2em; } }

/* AC_S_HERO_ALT - 1
--------------------------------------------------------------------------------------------*/
[data-s-type="hero-alt"] {
  /* AC_S_HERO - GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/
  position: relative; }
  [data-s-type="hero-alt"] .ac_hero_alt_container {
    margin: 0 auto;
    height: 150px;
    min-height: 200px;
    position: relative;
    display: block; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="hero-alt"] .ac_hero_alt_container {
        height: 300px; } }
  [data-s-type="hero-alt"] .ac_hero_alt_slides {
    position: relative;
    z-index: 3;
    height: 100%;
    display: block;
    margin: 0 auto;
    max-height: 100%;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="hero-alt"] .ac_hero_alt_slides.slick-initialized {
      max-height: inherit;
      opacity: 1; }
  [data-s-type="hero-alt"] .ac_hero_alt_slide {
    will-change: contents;
    position: relative; }
  [data-s-type="hero-alt"] .ac_hero_alt_slide_inner {
    max-width: 1000px;
    margin: 0 auto;
    height: 100%;
    position: relative;
    z-index: 2;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    will-change: contents;
    padding: 0 20px; }
    @media screen and (min-width: 0px) {
      [data-s-type="hero-alt"] .ac_hero_alt_slide_inner {
        padding: 0 80px; } }
  [data-s-type="hero-alt"] .ac_hero_alt_slide_content_container {
    will-change: contents; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="hero-alt"] .ac_hero_alt_slide_content_container {
        -webkit-transform: translateY(-1em);
            -ms-transform: translateY(-1em);
                transform: translateY(-1em); } }
  [data-s-type="hero-alt"] .ac_hero_alt_slide_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  [data-s-type="hero-alt"] .ac_hero_alt_slide_content_inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  [data-s-type="hero-alt"] .ac_hero_alt_slide_content_text {
    -webkit-flex: 0 1 100%;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    max-width: 100%;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="hero-alt"] .ac_hero_alt_slide_content_text {
        -webkit-flex: 0 1 80%;
            -ms-flex: 0 1 80%;
                flex: 0 1 80%;
        max-width: 80%; } }
  [data-s-type="hero-alt"] .ac_hero_alt_slide_content_image {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: none; }
  [data-s-type="hero-alt"] .slick-list {
    height: 100%; }
  [data-s-type="hero-alt"] .slick-track {
    height: 100%; }
  [data-s-type="hero-alt"] .slick-prev,
  [data-s-type="hero-alt"] .slick-next {
    display: none !important;
    background: none;
    padding: 0;
    box-shadow: none;
    width: 1em;
    height: 1em; }
    @media screen and (min-width: 1150px) {
      [data-s-type="hero-alt"] .slick-prev,
      [data-s-type="hero-alt"] .slick-next {
        display: block !important; } }
    @media screen and (min-width: 1150px) {
      [data-s-type="hero-alt"] .slick-prev,
      [data-s-type="hero-alt"] .slick-next {
        width: 2em;
        height: 2em; } }
    [data-s-type="hero-alt"] .slick-prev svg,
    [data-s-type="hero-alt"] .slick-next svg {
      fill: white;
      width: 1em;
      height: 1em; }
      @media screen and (min-width: 1150px) {
        [data-s-type="hero-alt"] .slick-prev svg,
        [data-s-type="hero-alt"] .slick-next svg {
          width: 2em;
          height: 2em; } }
  [data-s-type="hero-alt"] .slick-prev {
    top: initial;
    bottom: 4em;
    left: 50%;
    -webkit-transform: translateX(6em);
        -ms-transform: translateX(6em);
            transform: translateX(6em); }
  [data-s-type="hero-alt"] .slick-next {
    top: initial;
    bottom: 4em;
    right: 50%;
    -webkit-transform: translateX(-6em);
        -ms-transform: translateX(-6em);
            transform: translateX(-6em); }
  [data-s-type="hero-alt"] .slick-dots {
    bottom: 4em; }
  [data-s-type="hero-alt"] .ac_hero_alt_backdrop {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden; }
  [data-s-type="hero-alt"] .ac_hero_alt_backdrop_image-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; }
  [data-s-type="hero-alt"] .ac_hero_alt_backdrop_image {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
    opacity: 0.4;
    mix-blend-mode: multiply; }
    @media print, screen and (min-width: 50em) {
      [data-s-type="hero-alt"] .ac_hero_alt_backdrop_image {
        opacity: 1;
        mix-blend-mode: normal;
        -webkit-filter: grayscale(0%);
                filter: grayscale(0%); } }
  [data-s-type="hero-alt"] .ac_hero_alt_backdrop_video-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2; }
    [data-s-type="hero-alt"] .ac_hero_alt_backdrop_video-container video {
      position: absolute;
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
              transform: translateX(-50%) translateY(-50%); }
  [data-s-type="hero-alt"] .ac_hero_alt_link_to-content {
    display: none; }
  [data-s-type="hero-alt"] h1, [data-s-type="hero-alt"] h2, [data-s-type="hero-alt"] h3 {
    line-height: 1; }
  [data-s-type="hero-alt"] p {
    line-height: 1.5; }
  [data-s-type="hero-alt"] *:focus {
    outline: none; }

/* IMAGE - 1
--------------------------------------------------------------------------------------------*/
[data-s-type="image"] {
  /* IMAGE - GLOBALS
--------------------------------------------------------------------------------------------*/
  position: relative;
  /*--------------------------------------------------------------------------------------------*/ }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="image"] .ac_image {
      display: none; } }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="image"] {
      min-height: 300px; } }

/* IMAGE - 1
--------------------------------------------------------------------------------------------*/
[data-s-type="image-bg-fixed"] {
  /* IMAGE - GLOBALS
--------------------------------------------------------------------------------------------*/
  position: relative;
  background: linear-gradient(135deg, #1a2c64, #2a47a1);
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="image-bg-fixed"] .ac_image {
    position: absolute;
    width: 100%;
    height: 100%; }
    [data-s-type="image-bg-fixed"] .ac_image figure {
      position: absolute;
      width: 100%;
      height: 100%;
      opacity: .2;
      background-attachment: fixed; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="image-bg-fixed"] {
      height: 300px; } }

/* AC_S_IMAGE-GALLERY_FULL-SCREEN - 1
--------------------------------------------------------------------------------------------*/
/* AC_S_IMAGE-GALLERY_FULL-SCREEN - GLOBALS
--------------------------------------------------------------------------------------------*/
.ac_image-gallery_full-screen {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4444;
  width: 100%;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, height 0s linear 0.3s, visibility 0s linear 0.3s; }
  .ac_image-gallery_full-screen.s_active {
    height: 100%;
    visibility: visible;
    opacity: 1;
    transition: visibility 0s linear, height 0s linear, opacity 0.3s ease 0.3s; }

.ac_image-gallery_full-screen_container {
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

.image-gallery_full-screen_item_container {
  position: relative; }

.image-gallery_full-screen_item_content {
  position: absolute;
  bottom: 0;
  text-align: center;
  width: 100%;
  background: rgba(175, 20, 10, 0.9); }

.image-gallery_full-screen_item_content_inner {
  margin: 0 auto;
  max-width: 1000px;
  padding: 20px;
  color: #ffffff; }

.image-gallery_full-screen_item_image_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh; }

.ac_image-gallery_full-screen_close {
  position: fixed;
  width: 40px;
  height: 40px;
  z-index: 4445;
  top: 20px;
  right: 20px;
  display: none;
  padding: 12px;
  background: #ffffff;
  border-radius: 3px;
  transition: all 0.3s ease; }
  @media print, screen and (min-width: 50em) {
    .ac_image-gallery_full-screen_close {
      top: 40px;
      right: 40px; } }
  .ac_image-gallery_full-screen_close svg {
    width: 16px;
    height: 16px;
    fill: #3e3e3d;
    transition: all 0.3s ease; }
  .ac_image-gallery_full-screen_close:hover {
    cursor: pointer; }
    @media print, screen and (min-width: 64.0625em) {
      .ac_image-gallery_full-screen_close:hover {
        background: #af140a; }
        .ac_image-gallery_full-screen_close:hover svg {
          fill: #ffffff; } }
  .ac_image-gallery_full-screen_close.s_active {
    display: block; }

.ac_image-gallery_full-screen_background {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4443;
  width: 100%;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, height 0s linear 0.3s, visibility 0s linear 0.3s;
  background: rgba(175, 20, 10, 0.9); }
  .ac_image-gallery_full-screen_background.s_active {
    height: 100%;
    visibility: visible;
    opacity: 1;
    transition: visibility 0s linear, height 0s linear,  opacity .2s ease .2s; }

@media print, screen and (min-width: 64.0625em) {
  .image-gallery_full-screen_item_image_container img {
    max-height: 70vh; } }

[data-s-type="image-gallery_full-screen"] .slick-next svg,
[data-s-type="image-gallery_full-screen"] .slick-prev svg {
  fill: white; }

/* AC_S_IMAGE-GALLERY-GRID - 1
--------------------------------------------------------------------------------------------*/
/* AC_S_IMAGE-GALLERY - GLOBALS
--------------------------------------------------------------------------------------------*/
[data-s-type="image-gallery-grid"] .ac_image-gallery_grid_container:nth-child(even) {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
  [data-s-type="image-gallery-grid"] .ac_image-gallery_grid_container:nth-child(even) .ac_image-gallery_grid_outer-column:nth-child(1) {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  [data-s-type="image-gallery-grid"] .ac_image-gallery_grid_container:nth-child(even) .ac_image-gallery_grid_outer-column:nth-child(2) .ac_image-gallery_grid_column {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }

.ac_image-gallery_grid_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto; }

.ac_image-gallery_grid_outer-column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%; }
  @media screen and (min-width: 800px) {
    .ac_image-gallery_grid_outer-column:nth-child(1) {
      width: 60%;
      max-width: 60%; } }
  .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(1) {
    height: 200px; }
    .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(1) .ac_image-gallery_grid_item {
      width: 50%;
      max-width: 50%; }
      @media screen and (min-width: 800px) {
        .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(1) .ac_image-gallery_grid_item {
          max-height: 50%; } }
    @media screen and (min-width: 800px) {
      .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(1) {
        height: 400px;
        width: 33.33333%;
        max-width: 33.33333%; }
        .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(1) .ac_image-gallery_grid_item {
          width: 100%;
          max-width: 100%;
          height: 180px; } }
  @media screen and (max-width: 799px) {
    .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(2) {
      height: 280px; } }
  @media screen and (min-width: 800px) {
    .ac_image-gallery_grid_outer-column:nth-child(1) .ac_image-gallery_grid_column:nth-child(2) {
      width: 66.66667%;
      max-width: 66.66667%; } }
  @media screen and (min-width: 800px) {
    .ac_image-gallery_grid_outer-column:nth-child(2) {
      width: 40%;
      max-width: 40%; } }
  .ac_image-gallery_grid_outer-column:nth-child(2) .ac_image-gallery_grid_item {
    width: 50%;
    max-width: 50%; }

.ac_image-gallery_grid_column {
  height: 400px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%; }

.ac_image-gallery_grid_item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 20px;
  padding: 0 20px;
  padding: 0 10px; }
  @media print, screen and (min-width: 64.0625em) {
    .ac_image-gallery_grid_item:hover .ac_image-gallery_grid_item_image {
      -webkit-transform: scale(1.02);
          -ms-transform: scale(1.02);
              transform: scale(1.02);
      opacity: 0.5; }
    .ac_image-gallery_grid_item:hover .ac_image-gallery_grid_item_content {
      opacity: 1;
      visibility: visible; } }

.ac_image-gallery_grid_item_container {
  height: 100%;
  position: relative;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: #3e3e3d;
  border-radius: 3px;
  overflow: hidden; }

.ac_image-gallery_grid_item_image-container {
  height: 160px;
  width: 100%;
  border-radius: 3px;
  position: relative;
  overflow: hidden; }

.ac_image-gallery_grid_item_image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 1;
  border-radius: 3px;
  transition: all 0.3s ease;
  will-change: contents; }

.ac_image-gallery_grid_item_content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 20px; }

.ac_image-gallery_grid_item_image-container {
  border-radius: 3px;
  height: 100%;
  position: absolute; }

.ac_image-gallery_grid_item_content {
  position: absolute;
  z-index: 2;
  top: 0;
  border: none;
  height: 100%;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  visibility: hidden;
  left: 0;
  color: #ffffff;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center; }

/*--------------------------------------------------------------------------------------------*/
.ac_image-gallery_grid_container {
  position: relative;
  z-index: 22; }

@media print, screen and (min-width: 50em) {
  .ac_image-gallery_grid_outer-column:nth-child(2) {
    padding-top: 100px; }
  .ac_image-gallery_grid_container:nth-child(even) .ac_image-gallery_grid_outer-column:nth-child(2) {
    padding-top: initial;
    margin-top: -100px; } }

/* AC_S_IMAGE-GALLERY-SLIDER - 1
--------------------------------------------------------------------------------------------*/
/* AC_S_IMAGE-GALLERY - GLOBALS
--------------------------------------------------------------------------------------------*/
.ac_image-gallery_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto; }

.ac_image-gallery_item {
  padding: 0 10px;
  margin-bottom: 20px;
  -webkit-flex: 0 1 50%;
      -ms-flex: 0 1 50%;
          flex: 0 1 50%;
  max-width: 50%; }

a.ac_image-gallery_item:hover .ac_image-gallery_item_container {
  background: rgba(62, 62, 61, 0.1); }

a.ac_image-gallery_item:hover .ac_image-gallery_item_image {
  opacity: 0.5; }

a.ac_image-gallery_item:hover .ac_image-gallery_item_content_inner {
  color: #3e3e3d; }

.ac_image-gallery_item_container {
  position: relative;
  background: #ffffff;
  height: 100%;
  transition: all 0.3s ease;
  border-radius: 6px; }

.ac_image-gallery_item_image_container {
  position: relative;
  width: 100%;
  height: 200px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #3e3e3d;
  border-radius: 6px; }

.ac_image-gallery_item_image {
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: all 0.3s ease;
  border-radius: 6px;
  background-size: cover; }

.ac_image-gallery_item_content {
  position: relative;
  padding: 20px;
  border-top: solid 1px rgba(100, 100, 99, 0.2);
  display: none; }

.ac_image-gallery_item_content_inner {
  transition: opacity 0.3s ease;
  font-size: 90%;
  color: #3e3e3d; }
  @media print, screen and (min-width: 50em) {
    .ac_image-gallery_item_content_inner {
      font-size: 100%; } }

/*--------------------------------------------------------------------------------------------*/
/* CTA
--------------------------------------------------------------------------------------------*/
[data-s-type="maps"] {
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="maps"] .ac_maps_container {
    width: 100%;
    height: 400px; }

/* AC_S_NEWS - 1
--------------------------------------------------------------------------------------------*/
[data-s-type="news"] {
  /* ITEM  GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="news"] .ac_container {
    position: relative;
    z-index: 2;
    margin: 2em auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0 10px; }
  [data-s-type="news"] .ac_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-bottom: 1.4em;
    padding: 0 20px;
    padding: 0 10px; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="news"] .ac_item {
        width: 100%;
        max-width: 100%; } }
  [data-s-type="news"] .ac_item_container {
    min-height: 100%;
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    border-bottom: solid 1px rgba(100, 100, 99, 0.2);
    background: none; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="news"] a.ac_item:hover .ac_item_image {
      -webkit-transform: scale(1.02);
          -ms-transform: scale(1.02);
              transform: scale(1.02);
      opacity: 0.6; }
    [data-s-type="news"] a.ac_item:hover .ac_item_image-container {
      background: #3e3e3d; }
    [data-s-type="news"] a.ac_item:hover .ac_item_content {
      background: none; }
    [data-s-type="news"] a.ac_item:hover .ac_item_content_title {
      color: rgba(62, 62, 61, 0.6); }
    [data-s-type="news"] a.ac_item:hover .ac_item_content_copy-above {
      color: rgba(62, 62, 61, 0.4); }
    [data-s-type="news"] a.ac_item:hover .ac_item_content_copy-below {
      color: rgba(62, 62, 61, 0.4); } }
  @media screen and (max-width: 39.9375em) {
    [data-s-type="news"] .ac_item {
      height: auto !important; }
      [data-s-type="news"] .ac_item .ac_item_container {
        display: block;
        overflow: inherit;
        min-height: inherit; }
      [data-s-type="news"] .ac_item .ac_item_image-container {
        width: 80px;
        height: 80px;
        position: absolute;
        left: 0;
        top: 0;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; }
      [data-s-type="news"] .ac_item .ac_item_content {
        position: relative;
        background: transparent;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        text-align: left;
        min-height: 100px; }
      [data-s-type="news"] .ac_item .ac_item_content_copy {
        padding: 0 0 0 100px;
        margin-bottom: 20px; }
      [data-s-type="news"] .ac_item .ac_item_content_title {
        color: #3e3e3d;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      [data-s-type="news"] .ac_item .ac_item_content_copy-above {
        color: #3e3e3d;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      [data-s-type="news"] .ac_item .ac_item_content_copy-below {
        color: #3e3e3d;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      [data-s-type="news"] .ac_item [data-border-bottom] {
        border-bottom: solid 1px rgba(100, 100, 99, 0.2) !important; } }
  [data-s-type="news"] .ac_item_image-container {
    height: 360px;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    background: #3e3e3d;
    border-radius: 6px; }
  [data-s-type="news"] .ac_item_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.8;
    transition: all 0.3s ease;
    will-change: contents;
    border-radius: 6px; }
  [data-s-type="news"] .ac_item_icon {
    position: absolute;
    z-index: 2;
    width: 1.6em;
    height: 1.6em;
    right: 20px;
    bottom: 20px; }
    [data-s-type="news"] .ac_item_icon svg {
      width: 1.6em;
      height: 1.6em;
      fill: rgba(100, 100, 99, 0.6);
      transition: fill 0.3s ease; }
  [data-s-type="news"] .ac_item_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 0;
    transition: all 0.3s ease;
    background: none; }
  [data-s-type="news"] .ac_item_content_copy {
    padding: 20px 3em 20px 0;
    width: 100%;
    transition: all 0.3s ease; }
    [data-s-type="news"] .ac_item_content_copy * {
      transition: all 0.3s ease; }
  [data-s-type="news"] .ac_item_content_icon_container {
    display: none; }
  [data-s-type="news"] .ac_item_content_title {
    color: #3e3e3d; }
  [data-s-type="news"] .ac_item_content_copy-above {
    color: rgba(62, 62, 61, 0.6); }
  [data-s-type="news"] .ac_item_content_copy-below {
    color: rgba(62, 62, 61, 0.6); }
  [data-s-type="news"] .ac_item_icon {
    position: absolute;
    z-index: 2;
    width: 1.6em;
    height: 1.6em;
    right: 20px;
    bottom: 20px; }
    [data-s-type="news"] .ac_item_icon svg {
      width: 1.6em;
      height: 1.6em;
      fill: rgba(100, 100, 99, 0.6);
      transition: fill 0.3s ease; }
  [data-s-type="news"] .ac_item {
    height: 360px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="news"] .ac_item {
        height: 360px; } }
  [data-s-type="news"] .ac_item_image-container {
    height: 100%;
    background: #3e3e3d;
    position: absolute; }
    [data-s-type="news"] .ac_item_image-container:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(62, 62, 61, 0), #3e3e3d);
      z-index: 1;
      bottom: 0; }
  [data-s-type="news"] .ac_item_content {
    position: absolute;
    z-index: 2;
    top: 0;
    border: none;
    height: 100%;
    width: 100%;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    left: 0;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }
  [data-s-type="news"] .ac_item_container {
    overflow: hidden; }
  [data-s-type="news"] [data-init-slick] {
    display: block;
    z-index: inherit;
    max-height: 200px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="news"] [data-init-slick].slick-initialized {
      max-height: inherit;
      overflow: visible;
      opacity: 1; }
    [data-s-type="news"] [data-init-slick] [data-s-amount-item] {
      margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="news"] [data-init-slick] [data-s-amount-item] {
        border-left-color: transparent; } }
  @media screen and (max-width: 39.9375em) {
    [data-s-type="news"] .ac_item_image-container:before {
      display: none; } }
  @media screen and (max-width: 39.9375em) {
    [data-s-type="news"] .ac_item_image {
      opacity: 1; } }
  @media print, screen and (min-width: 40em) {
    [data-s-type="news"] .ac_item_content_copy {
      background: #ffffff; } }
  [data-s-type="news"] .ac_item_content_copy-above {
    text-transform: uppercase;
    font-size: 85%;
    letter-spacing: 1px; }
  [data-s-type="news"] .ac_item_content_title {
    padding: 10px 0;
    line-height: 1.2;
    font-family: "Titillium Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 120%; }
  [data-s-type="news"] .ac_item_content_copy-below {
    text-transform: uppercase;
    font-size: 85%;
    letter-spacing: 1px; }
  @media screen and (max-width: 39.9375em) {
    [data-s-type="news"] .ac_item_icon svg {
      fill: rgba(100, 100, 99, 0.5); } }

/* REFERENCES - 2
--------------------------------------------------------------------------------------------*/
[data-s-type="references"] {
  /* ITEM  GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="references"] .ac_container {
    position: relative;
    z-index: 2;
    margin: 2em auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0 10px; }
  [data-s-type="references"] .ac_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-bottom: 1.4em;
    padding: 0 20px;
    padding: 0 10px; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="references"] .ac_item {
        width: 100%;
        max-width: 100%; } }
  [data-s-type="references"] .ac_item_container {
    min-height: 100%;
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    background: none; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="references"] a.ac_item:hover .ac_item_image {
      -webkit-transform: scale(1.02);
          -ms-transform: scale(1.02);
              transform: scale(1.02);
      opacity: 0.4; }
    [data-s-type="references"] a.ac_item:hover .ac_item_image-container {
      background: #3e3e3d; }
    [data-s-type="references"] a.ac_item:hover .ac_item_content {
      background: none; }
    [data-s-type="references"] a.ac_item:hover .ac_item_content_icon {
      background: white; }
      [data-s-type="references"] a.ac_item:hover .ac_item_content_icon svg {
        stroke: #3e3e3d;
        fill: transparent; }
    [data-s-type="references"] a.ac_item:hover .ac_item_content_title {
      color: rgba(255, 255, 255, 0.6); }
    [data-s-type="references"] a.ac_item:hover .ac_item_content_copy-above {
      color: rgba(255, 255, 255, 0.4); }
    [data-s-type="references"] a.ac_item:hover .ac_item_icon svg {
      fill: white; } }
  [data-s-type="references"] .ac_item_image-container {
    height: 240px;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    background: #3e3e3d;
    border-radius: 6px; }
  [data-s-type="references"] .ac_item_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.6;
    transition: all 0.3s ease;
    will-change: contents;
    border-radius: 6px; }
  [data-s-type="references"] .ac_item_icon {
    position: absolute;
    z-index: 2;
    width: 1.6em;
    height: 1.6em;
    right: 20px;
    bottom: 20px; }
    [data-s-type="references"] .ac_item_icon svg {
      width: 1.6em;
      height: 1.6em;
      fill: rgba(255, 255, 255, 0.4);
      transition: fill 0.3s ease; }
  [data-s-type="references"] .ac_item_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 20px;
    transition: all 0.3s ease;
    background: none; }
  [data-s-type="references"] .ac_item_content_copy {
    padding: 20px 0;
    width: 100%;
    transition: all 0.3s ease; }
    [data-s-type="references"] .ac_item_content_copy * {
      transition: all 0.3s ease; }
  [data-s-type="references"] .ac_item_content_icon_container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  [data-s-type="references"] .ac_item_content_icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.5);
    padding: 10px;
    margin: 0 0 20px 0;
    border-radius: 100%; }
    [data-s-type="references"] .ac_item_content_icon svg {
      width: 60px;
      height: 60px;
      stroke: white;
      fill: transparent; }
  [data-s-type="references"] .ac_item_content_title {
    color: #ffffff; }
  [data-s-type="references"] .ac_item_content_copy-above {
    color: rgba(255, 255, 255, 0.6); }
  [data-s-type="references"] .ac_item_content_copy-below {
    display: none; }
  [data-s-type="references"] .ac_item_icon {
    position: absolute;
    z-index: 2;
    width: 1.6em;
    height: 1.6em;
    right: 20px;
    bottom: 20px; }
    [data-s-type="references"] .ac_item_icon svg {
      width: 1.6em;
      height: 1.6em;
      fill: rgba(255, 255, 255, 0.4);
      transition: fill 0.3s ease; }
  [data-s-type="references"] .ac_item {
    height: 240px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="references"] .ac_item {
        height: 240px; } }
  [data-s-type="references"] .ac_item_image-container {
    height: 100%;
    background: #3e3e3d;
    position: absolute; }
    [data-s-type="references"] .ac_item_image-container:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(62, 62, 61, 0), #3e3e3d);
      z-index: 1;
      bottom: 0; }
  [data-s-type="references"] .ac_item_content {
    position: absolute;
    z-index: 2;
    top: 0;
    border: none;
    height: 100%;
    width: 100%;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    left: 0;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
  [data-s-type="references"] .ac_item_container {
    overflow: hidden; }
  [data-s-type="references"] [data-init-slick] {
    display: block;
    z-index: inherit;
    max-height: 200px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="references"] [data-init-slick].slick-initialized {
      max-height: inherit;
      overflow: visible;
      opacity: 1; }
    [data-s-type="references"] [data-init-slick] [data-s-amount-item] {
      margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="references"] [data-init-slick] [data-s-amount-item] {
        border-left-color: transparent; } }
  [data-s-type="references"] .ac_item_image-container {
    border: solid 3px #ffffff; }
  [data-s-type="references"] .ac_item_image {
    border-radius: 0; }
  [data-s-type="references"] .ac_item_content_title {
    font-family: "Titillium Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 150%;
    line-height: 1; }

/* REFERENCES-GRID - 1
--------------------------------------------------------------------------------------------*/
[data-s-type="references-grid"] {
  /* ITEM  GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="references-grid"] .ac_container {
    position: relative;
    z-index: 2;
    margin: 2em auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0 10px; }
  [data-s-type="references-grid"] .ac_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-bottom: 20px;
    padding: 0 20px;
    padding: 0 10px; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="references-grid"] .ac_item {
        width: 100%;
        max-width: 100%; } }
  [data-s-type="references-grid"] .ac_item_container {
    min-height: 100%;
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    background: none; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_image {
      -webkit-transform: scale(1.02);
          -ms-transform: scale(1.02);
              transform: scale(1.02);
      opacity: 0.4; }
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_image-container {
      background: #3e3e3d; }
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_content {
      background: none; }
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_content_icon {
      background: white; }
      [data-s-type="references-grid"] a.ac_item:hover .ac_item_content_icon svg {
        stroke: #3e3e3d;
        fill: transparent; }
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_content_title {
      color: rgba(255, 255, 255, 0.6); }
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_content_copy-above {
      color: rgba(255, 255, 255, 0.4); }
    [data-s-type="references-grid"] a.ac_item:hover .ac_item_icon svg {
      fill: white; } }
  [data-s-type="references-grid"] .ac_item_image-container {
    height: 240px;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    background: #3e3e3d;
    border-radius: 6px; }
  [data-s-type="references-grid"] .ac_item_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.2;
    transition: all 0.3s ease;
    will-change: contents;
    border-radius: 6px; }
  [data-s-type="references-grid"] .ac_item_icon {
    display: none; }
  [data-s-type="references-grid"] .ac_item_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 0;
    transition: all 0.3s ease;
    background: none; }
  [data-s-type="references-grid"] .ac_item_content_copy {
    padding: 10px;
    width: 100%;
    transition: all 0.3s ease; }
    [data-s-type="references-grid"] .ac_item_content_copy * {
      transition: all 0.3s ease; }
  [data-s-type="references-grid"] .ac_item_content_icon_container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  [data-s-type="references-grid"] .ac_item_content_icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.5);
    padding: 10px;
    margin: 0 0 20px 0;
    border-radius: 100%; }
    [data-s-type="references-grid"] .ac_item_content_icon svg {
      width: 60px;
      height: 60px;
      stroke: white;
      fill: transparent; }
  [data-s-type="references-grid"] .ac_item_content_title {
    color: #ffffff; }
  [data-s-type="references-grid"] .ac_item_content_copy-above {
    color: rgba(255, 255, 255, 0.6); }
  [data-s-type="references-grid"] .ac_item_content_copy-below {
    display: none; }
  [data-s-type="references-grid"] .ac_item_icon {
    display: none; }
  [data-s-type="references-grid"] .ac_item {
    height: 240px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="references-grid"] .ac_item {
        height: 240px; } }
  [data-s-type="references-grid"] .ac_item_image-container {
    height: 100%;
    background: #3e3e3d;
    position: absolute; }
    [data-s-type="references-grid"] .ac_item_image-container:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(62, 62, 61, 0), #3e3e3d);
      z-index: 1;
      bottom: 0; }
  [data-s-type="references-grid"] .ac_item_content {
    position: absolute;
    z-index: 2;
    top: 0;
    border: none;
    height: 100%;
    width: 100%;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    left: 0;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
  [data-s-type="references-grid"] .ac_item_container {
    overflow: hidden; }
  [data-s-type="references-grid"] [data-init-slick] {
    display: block;
    z-index: inherit;
    max-height: 200px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="references-grid"] [data-init-slick].slick-initialized {
      max-height: inherit;
      overflow: visible;
      opacity: 1; }
    [data-s-type="references-grid"] [data-init-slick] [data-s-amount-item] {
      margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="references-grid"] [data-init-slick] [data-s-amount-item] {
        border-left-color: transparent; } }
  [data-s-type="references-grid"] .ac_grid_container {
    max-width: 1000px;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 10px; }
    [data-s-type="references-grid"] .ac_grid_container .ac_item_image {
      display: none; }
  [data-s-type="references-grid"] .ac_grid_outer-column {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
    width: 100%; }
    @media screen and (min-width: 800px) {
      [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(1) {
        width: 60%;
        max-width: 60%; } }
    @media screen and (max-width: 799px) {
      [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) {
        display: none; } }
    [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) .ac_item {
      height: 200px;
      margin-bottom: 20px; }
      @media screen and (min-width: 800px) {
        [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) .ac_item {
          height: 180px;
          margin-bottom: inherit; } }
    @media screen and (min-width: 800px) {
      [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) {
        width: 40%;
        max-width: 40%; } }
    [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) .ac_item {
      width: 50%;
      max-width: 50%;
      margin-bottom: 20px; }
      [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) .ac_item:nth-child(1) .ac_item_image, [data-s-type="references-grid"] .ac_grid_outer-column:nth-child(2) .ac_item:nth-child(4) .ac_item_image {
        display: block; }
  [data-s-type="references-grid"] .ac_grid_column {
    height: 400px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 100%; }
    [data-s-type="references-grid"] .ac_grid_column .ac_item {
      width: 100%;
      height: calc(100% - 20px); }
    [data-s-type="references-grid"] .ac_grid_column:nth-child(1) {
      height: 200px; }
      [data-s-type="references-grid"] .ac_grid_column:nth-child(1) .ac_item {
        width: 50%;
        max-width: 50%; }
        [data-s-type="references-grid"] .ac_grid_column:nth-child(1) .ac_item:nth-child(1) .ac_item_image {
          display: block; }
      @media screen and (min-width: 800px) {
        [data-s-type="references-grid"] .ac_grid_column:nth-child(1) {
          height: 400px;
          width: 33.33333%;
          max-width: 33.33333%; }
          [data-s-type="references-grid"] .ac_grid_column:nth-child(1) .ac_item {
            width: 100%;
            max-width: 100%;
            height: 180px; } }
    @media screen and (max-width: 799px) {
      [data-s-type="references-grid"] .ac_grid_column:nth-child(2) {
        height: 280px; } }
    @media screen and (min-width: 800px) {
      [data-s-type="references-grid"] .ac_grid_column:nth-child(2) {
        width: 66.66667%;
        max-width: 66.66667%; } }
    [data-s-type="references-grid"] .ac_grid_column:nth-child(2) .ac_item_image {
      display: block; }
  [data-s-type="references-grid"] .ac_item_content_title {
    font-family: "Titillium Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 120%;
    line-height: 1; }

/* SERVICES-GRID - 1
--------------------------------------------------------------------------------------------*/
[data-s-type="services-grid"] {
  /* ITEM  GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="services-grid"] .ac_container {
    position: relative;
    z-index: 2;
    margin: 2em auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0 10px; }
  [data-s-type="services-grid"] .ac_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-bottom: 20px;
    padding: 0 20px;
    padding: 0 10px; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="services-grid"] .ac_item {
        width: 100%;
        max-width: 100%; } }
  [data-s-type="services-grid"] .ac_item_container {
    min-height: 100%;
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    background: none; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="services-grid"] a.ac_item:hover .ac_item_image {
      -webkit-transform: scale(1.02);
          -ms-transform: scale(1.02);
              transform: scale(1.02);
      opacity: 0.4; }
    [data-s-type="services-grid"] a.ac_item:hover .ac_item_image-container {
      background: #3e3e3d; }
    [data-s-type="services-grid"] a.ac_item:hover .ac_item_content {
      background: none; }
    [data-s-type="services-grid"] a.ac_item:hover .ac_item_content_icon {
      background: white; }
      [data-s-type="services-grid"] a.ac_item:hover .ac_item_content_icon svg {
        stroke: #3e3e3d;
        fill: transparent; }
    [data-s-type="services-grid"] a.ac_item:hover .ac_item_content_title {
      color: rgba(255, 255, 255, 0.6); }
    [data-s-type="services-grid"] a.ac_item:hover .ac_item_icon svg {
      fill: white; } }
  [data-s-type="services-grid"] .ac_item_image-container {
    height: 240px;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    background: #3e3e3d;
    border-radius: 6px; }
  [data-s-type="services-grid"] .ac_item_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.2;
    transition: all 0.3s ease;
    will-change: contents;
    border-radius: 6px; }
  [data-s-type="services-grid"] .ac_item_icon {
    display: none; }
  [data-s-type="services-grid"] .ac_item_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 0;
    transition: all 0.3s ease;
    background: none; }
  [data-s-type="services-grid"] .ac_item_content_copy {
    padding: 10px;
    width: 100%;
    transition: all 0.3s ease; }
    [data-s-type="services-grid"] .ac_item_content_copy * {
      transition: all 0.3s ease; }
  [data-s-type="services-grid"] .ac_item_content_icon_container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  [data-s-type="services-grid"] .ac_item_content_icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.5);
    padding: 10px;
    margin: 0 0 20px 0;
    border-radius: 100%; }
    [data-s-type="services-grid"] .ac_item_content_icon svg {
      width: 60px;
      height: 60px;
      stroke: white;
      fill: transparent; }
  [data-s-type="services-grid"] .ac_item_content_title {
    color: #ffffff; }
  [data-s-type="services-grid"] .ac_item_content_copy-above {
    display: none; }
  [data-s-type="services-grid"] .ac_item_content_copy-below {
    display: none; }
  [data-s-type="services-grid"] .ac_item_icon {
    display: none; }
  [data-s-type="services-grid"] .ac_item {
    height: 240px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="services-grid"] .ac_item {
        height: 240px; } }
  [data-s-type="services-grid"] .ac_item_image-container {
    height: 100%;
    background: #3e3e3d;
    position: absolute; }
    [data-s-type="services-grid"] .ac_item_image-container:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(62, 62, 61, 0), #3e3e3d);
      z-index: 1;
      bottom: 0; }
  [data-s-type="services-grid"] .ac_item_content {
    position: absolute;
    z-index: 2;
    top: 0;
    border: none;
    height: 100%;
    width: 100%;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    left: 0;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
  [data-s-type="services-grid"] .ac_item_container {
    overflow: hidden; }
  [data-s-type="services-grid"] [data-init-slick] {
    display: block;
    z-index: inherit;
    max-height: 200px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="services-grid"] [data-init-slick].slick-initialized {
      max-height: inherit;
      overflow: visible;
      opacity: 1; }
    [data-s-type="services-grid"] [data-init-slick] [data-s-amount-item] {
      margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="services-grid"] [data-init-slick] [data-s-amount-item] {
        border-left-color: transparent; } }
  [data-s-type="services-grid"] .ac_grid_container {
    max-width: 1000px;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 10px; }
    [data-s-type="services-grid"] .ac_grid_container .ac_item_image {
      display: none; }
  [data-s-type="services-grid"] .ac_grid_outer-column {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
            align-content: flex-start;
    width: 100%; }
    @media screen and (min-width: 800px) {
      [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(1) {
        width: 60%;
        max-width: 60%; } }
    @media screen and (max-width: 799px) {
      [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) {
        display: none; } }
    [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) .ac_item {
      height: 200px;
      margin-bottom: 20px; }
      @media screen and (min-width: 800px) {
        [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) .ac_item {
          height: 180px;
          margin-bottom: inherit; } }
    @media screen and (min-width: 800px) {
      [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) {
        width: 40%;
        max-width: 40%; } }
    [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) .ac_item {
      width: 50%;
      max-width: 50%;
      margin-bottom: 20px; }
      [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) .ac_item:nth-child(1) .ac_item_image, [data-s-type="services-grid"] .ac_grid_outer-column:nth-child(2) .ac_item:nth-child(4) .ac_item_image {
        display: block; }
  [data-s-type="services-grid"] .ac_grid_column {
    height: 400px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 100%; }
    [data-s-type="services-grid"] .ac_grid_column .ac_item {
      width: 100%;
      height: calc(100% - 20px); }
    [data-s-type="services-grid"] .ac_grid_column:nth-child(1) {
      height: 200px; }
      [data-s-type="services-grid"] .ac_grid_column:nth-child(1) .ac_item {
        width: 50%;
        max-width: 50%; }
        [data-s-type="services-grid"] .ac_grid_column:nth-child(1) .ac_item:nth-child(1) .ac_item_image {
          display: block; }
      @media screen and (min-width: 800px) {
        [data-s-type="services-grid"] .ac_grid_column:nth-child(1) {
          height: 400px;
          width: 33.33333%;
          max-width: 33.33333%; }
          [data-s-type="services-grid"] .ac_grid_column:nth-child(1) .ac_item {
            width: 100%;
            max-width: 100%;
            height: 180px; } }
    @media screen and (max-width: 799px) {
      [data-s-type="services-grid"] .ac_grid_column:nth-child(2) {
        height: 280px; } }
    @media screen and (min-width: 800px) {
      [data-s-type="services-grid"] .ac_grid_column:nth-child(2) {
        width: 66.66667%;
        max-width: 66.66667%; } }
    [data-s-type="services-grid"] .ac_grid_column:nth-child(2) .ac_item_image {
      display: block; }
  [data-s-type="services-grid"] .ac_item_content_title {
    font-family: "Titillium Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 120%;
    line-height: 1; }

/* SERVICES - 2
--------------------------------------------------------------------------------------------*/
[data-s-type="services"] {
  /* ITEM  GLOBALS
--------------------------------------------------------------------------------------------*/
  /*--------------------------------------------------------------------------------------------*/ }
  [data-s-type="services"] .ac_container {
    position: relative;
    z-index: 2;
    margin: 2em auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0 10px; }
  [data-s-type="services"] .ac_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-bottom: 1.4em;
    padding: 0 20px;
    padding: 0 10px; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="services"] .ac_item {
        width: 100%;
        max-width: 100%; } }
  [data-s-type="services"] .ac_item_container {
    min-height: 100%;
    width: 100%;
    position: relative;
    transition: all 0.3s ease;
    background: none; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-type="services"] a.ac_item:hover .ac_item_image {
      -webkit-transform: scale(1.02);
          -ms-transform: scale(1.02);
              transform: scale(1.02);
      opacity: 0.8; }
    [data-s-type="services"] a.ac_item:hover .ac_item_image-container {
      background: #3e3e3d; }
    [data-s-type="services"] a.ac_item:hover .ac_item_content {
      background: none; }
    [data-s-type="services"] a.ac_item:hover .ac_item_content_icon {
      background: white; }
      [data-s-type="services"] a.ac_item:hover .ac_item_content_icon svg {
        stroke: #3e3e3d;
        fill: transparent; }
    [data-s-type="services"] a.ac_item:hover .ac_item_content_title {
      color: rgba(255, 255, 255, 0.6); }
    [data-s-type="services"] a.ac_item:hover .ac_item_icon svg {
      fill: white; } }
  [data-s-type="services"] .ac_item_image-container {
    height: 240px;
    width: 100%;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    background: #3e3e3d;
    border-radius: 6px; }
  [data-s-type="services"] .ac_item_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 1;
    transition: all 0.3s ease;
    will-change: contents;
    border-radius: 6px; }
  [data-s-type="services"] .ac_item_icon {
    position: absolute;
    z-index: 2;
    width: 1.6em;
    height: 1.6em;
    right: 20px;
    bottom: 20px; }
    [data-s-type="services"] .ac_item_icon svg {
      width: 1.6em;
      height: 1.6em;
      fill: rgba(255, 255, 255, 0.4);
      transition: fill 0.3s ease; }
  [data-s-type="services"] .ac_item_content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding: 0;
    transition: all 0.3s ease;
    background: none; }
  [data-s-type="services"] .ac_item_content_copy {
    padding: 20px 0;
    width: 100%;
    transition: all 0.3s ease; }
    [data-s-type="services"] .ac_item_content_copy * {
      transition: all 0.3s ease; }
  [data-s-type="services"] .ac_item_content_icon_container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  [data-s-type="services"] .ac_item_content_icon {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.5);
    padding: 10px;
    margin: 0 0 20px 0;
    border-radius: 100%; }
    [data-s-type="services"] .ac_item_content_icon svg {
      width: 60px;
      height: 60px;
      stroke: white;
      fill: transparent; }
  [data-s-type="services"] .ac_item_content_title {
    color: #ffffff; }
  [data-s-type="services"] .ac_item_content_copy-above {
    display: none; }
  [data-s-type="services"] .ac_item_content_copy-below {
    display: none; }
  [data-s-type="services"] .ac_item_icon {
    position: absolute;
    z-index: 2;
    width: 1.6em;
    height: 1.6em;
    right: 20px;
    bottom: 20px; }
    [data-s-type="services"] .ac_item_icon svg {
      width: 1.6em;
      height: 1.6em;
      fill: rgba(255, 255, 255, 0.4);
      transition: fill 0.3s ease; }
  [data-s-type="services"] .ac_item {
    height: 240px;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      [data-s-type="services"] .ac_item {
        height: 240px; } }
  [data-s-type="services"] .ac_item_image-container {
    height: 100%;
    background: #3e3e3d;
    position: absolute; }
    [data-s-type="services"] .ac_item_image-container:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(62, 62, 61, 0), #3e3e3d);
      z-index: 1;
      bottom: 0; }
  [data-s-type="services"] .ac_item_content {
    position: absolute;
    z-index: 2;
    top: 0;
    border: none;
    height: 100%;
    width: 100%;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    left: 0;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
  [data-s-type="services"] .ac_item_container {
    overflow: hidden; }
  [data-s-type="services"] [data-init-slick] {
    display: block;
    z-index: inherit;
    max-height: 200px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease; }
    [data-s-type="services"] [data-init-slick].slick-initialized {
      max-height: inherit;
      overflow: visible;
      opacity: 1; }
    [data-s-type="services"] [data-init-slick] [data-s-amount-item] {
      margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      [data-s-type="services"] [data-init-slick] [data-s-amount-item] {
        border-left-color: transparent; } }
  [data-s-type="services"] .ac_item_image-container {
    border: solid 3px #ffffff; }
  [data-s-type="services"] .ac_item_image {
    border-radius: 0; }
  [data-s-type="services"] .ac_item_content_title {
    font-family: "Titillium Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 150%;
    line-height: 1; }

/* AC_S_TOPTASKS - 1
--------------------------------------------------------------------------------------------*/
/* AC_S_TOPTASKS - GLOBALS
--------------------------------------------------------------------------------------------*/
[data-s-type="toptasks"] {
  position: relative; }

.ac_toptasks_container {
  max-width: 1200px;
  margin: 2em auto;
  padding: 0; }

.ac_toptasks_container_inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 5px; }

.ac_toptasks_item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 10px;
  position: relative;
  width: 100%; }
  @media print, screen and (min-width: 64.0625em) {
    .ac_toptasks_item:hover .ac_toptasks_item_container {
      background: #fafafd; }
    .ac_toptasks_item:hover .ac_toptasks_item_image {
      opacity: 0.5; }
    .ac_toptasks_item:hover .ac_toptasks_item_icon {
      background: inherit; }
      .ac_toptasks_item:hover .ac_toptasks_item_icon svg {
        stroke: #646463;
        fill: transparent; }
    .ac_toptasks_item:hover .ac_toptasks_item_content_title {
      color: rgba(62, 62, 61, 0.9); }
    .ac_toptasks_item:hover .ac_toptasks_item_content_description {
      color: rgba(62, 62, 61, 0.9); }
    .ac_toptasks_item:hover .ac_toptasks_item_content_btn-container {
      color: rgba(62, 62, 61, 0.9); } }

.ac_toptasks_item_container {
  background: #fafafd;
  width: 100%;
  border-radius: 6px;
  padding: 20px;
  position: relative;
  transition: all 0.3s ease;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }

.ac_toptasks_item_image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background: #3e3e3d;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px; }

.ac_toptasks_item_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  transition: all 0.3s ease;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }

.ac_toptasks_item_content {
  position: relative;
  z-index: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.ac_toptasks_item_content_title {
  font-family: "Titillium Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 120%;
  margin-bottom: .4em;
  max-width: 100%;
  line-height: 1;
  color: #3e3e3d;
  transition: all 0.3s ease; }

.ac_toptasks_item_content_description {
  margin-bottom: 1em;
  max-width: 100%;
  color: #3e3e3d; }

.ac_toptasks_item_content_btn-container {
  max-width: 100%;
  color: #3e3e3d; }

.ac_toptasks_item_icon-container {
  position: relative;
  z-index: 1;
  margin-bottom: 40px; }

.ac_toptasks_item_icon {
  width: 80px;
  height: 80px;
  background: #ffffff;
  padding: 24px;
  border-radius: 100%;
  transition: all 0.3s ease; }
  .ac_toptasks_item_icon svg {
    width: 32px;
    height: 32px;
    transition: all 0.3s ease;
    stroke: #646463;
    fill: transparent; }

/*--------------------------------------------------------------------------------------------*/
.ac_toptasks_item_container {
  display: block;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.ac_toptasks_item_icon-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.ac_toptasks_item_content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center; }

/* SECTION CONTROL
--------------------------------------------------------------------------------------------*/
[data-s-id="home-toptasks"] {
  margin-top: -60px;
  position: relative;
  z-index: 22; }
  @media print, screen and (min-width: 64.0625em) {
    [data-s-id="home-toptasks"] {
      margin-top: -110px; } }

[data-s-id="home-services"] {
  padding-top: 40px;
  padding-bottom: 120px; }

/* STATE HIDDEN
----------------------------------------------------------------------------------------------------*/
.s_hidden {
  display: none !important; }

/* TEXT ALIGN
----------------------------------------------------------------------------------------------------*/
.a_text-align_left {
  text-align: left !important; }

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

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

/* FLEXBOX HELPERS
----------------------------------------------------------------------------------------------------*/
.a_justify_flex-start {
  -webkit-justify-content: flex-start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }

.a_justify_center {
  -webkit-justify-content: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important; }

.a_justify_flex-end {
  -webkit-justify-content: flex-end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important; }

.a_justify_space-around {
  -webkit-justify-content: space-around !important;
      -ms-flex-pack: distribute !important;
          justify-content: space-around !important; }

.a_justify_space-between {
  -webkit-justify-content: space-between !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important; }

.a_align-items_center {
  -webkit-align-items: center !important;
      -ms-flex-align: center !important;
          align-items: center !important; }

.a_align-items_flex-start {
  -webkit-align-items: flex-start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important; }

.a_align-items_flex-end {
  -webkit-align-items: flex-end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important; }

.a_flex-direction_row {
  -webkit-flex-direction: row !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important; }

.a_flex-direction_row-reverse {
  -webkit-flex-direction: row-reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }

/* MAX WIDTH
----------------------------------------------------------------------------------------------------*/
.a_max-width-full {
  max-width: 100% !important; }

.a_max-width-600 {
  max-width: 600px !important;
  margin: 0 auto; }

.a_max-width-800 {
  max-width: 800px !important;
  margin: 0 auto; }

.a_max-width-1000 {
  max-width: 1000px !important;
  margin: 0 auto; }

.a_max-width-1200 {
  max-width: 1200px !important;
  margin: 0 auto; }

.a_max-width-1400 {
  max-width: 1400px !important;
  margin: 0 auto; }

.a_max-width-1600 {
  max-width: 1600px !important;
  margin: 0 auto; }

.a_max-width-1800 {
  max-width: 1800px !important;
  margin: 0 auto; }

.a_max-width-2000 {
  max-width: 2000px !important;
  margin: 0 auto; }

/* BACKGROUND ATTACHMENT 
----------------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 64.0625em) {
  .a_background-attachment_fixed {
    background-attachment: fixed; } }

/* BACKGROUND CONTAIN
----------------------------------------------------------------------------------------------------*/
.a_contain {
  background-size: contain !important;
  background-repeat: no-repeat;
  background-position: center center; }

/* BACKGROUND COVER
----------------------------------------------------------------------------------------------------*/
.a_cover-ct {
  background-size: cover !important;
  background-position: 50% 0% !important; }

.a_cover-cc {
  background-size: cover !important;
  background-position: 50% 50% !important; }

.a_cover-cb {
  background-size: cover !important;
  background-position: 50% 100% !important; }

.a_cover-lt {
  background-size: cover !important;
  background-position: 0% 0% !important; }

.a_cover-lc {
  background-size: cover !important;
  background-position: 0% 50% !important; }

.a_cover-lb {
  background-size: cover !important;
  background-position: 0% 100% !important; }

.a_cover-rt {
  background-size: cover !important;
  background-position: 100% 0% !important; }

.a_cover-rc {
  background-size: cover !important;
  background-position: 100% 50% !important; }

.a_cover-rb {
  background-size: cover !important;
  background-position: 100% 100% !important; }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-ct {
    background-position: 50% 0% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-cc {
    background-position: 50% 50% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-cb {
    background-position: 50% 100% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-lt {
    background-position: 0% 0% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-lc {
    background-position: 0% 50% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-lb {
    background-position: 0% 100% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-rt {
    background-position: 100% 0% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-rc {
    background-position: 100% 50% !important; } }

@media print, screen and (min-width: 40em) {
  .a_medium-portrait_cover-rb {
    background-position: 100% 100% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-ct {
    background-position: 50% 0% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-cc {
    background-position: 50% 50% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-cb {
    background-position: 50% 100% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-lt {
    background-position: 0% 0% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-lc {
    background-position: 0% 50% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-lb {
    background-position: 0% 100% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-rt {
    background-position: 100% 0% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-rc {
    background-position: 100% 50% !important; } }

@media print, screen and (min-width: 50em) {
  .a_medium_cover-rb {
    background-position: 100% 100% !important; } }

/* OPACITY
----------------------------------------------------------------------------------------------------*/
.a_opacity-0 {
  opacity: 0 !important; }

.a_opacity-5 {
  opacity: 0.05 !important; }

.a_opacity-10 {
  opacity: 0.1 !important; }

.a_opacity-20 {
  opacity: 0.2 !important; }

.a_opacity-30 {
  opacity: 0.3 !important; }

.a_opacity-40 {
  opacity: 0.4 !important; }

.a_opacity-50 {
  opacity: 0.5 !important; }

.a_opacity-60 {
  opacity: 0.6 !important; }

.a_opacity-70 {
  opacity: 0.7 !important; }

.a_opacity-80 {
  opacity: 0.8 !important; }

.a_opacity-90 {
  opacity: 0.9 !important; }

.a_opacity-100 {
  opacity: 1 !important; }

/* GRAYSCALE
----------------------------------------------------------------------------------------------------*/
.a_grayscale-20 {
  -webkit-filter: grayscale(20%) !important;
          filter: grayscale(20%) !important; }

.a_grayscale-40 {
  -webkit-filter: grayscale(40%) !important;
          filter: grayscale(40%) !important; }

.a_grayscale-60 {
  -webkit-filter: grayscale(60%) !important;
          filter: grayscale(60%) !important; }

.a_grayscale-80 {
  -webkit-filter: grayscale(80%) !important;
          filter: grayscale(80%) !important; }

.a_grayscale-100 {
  -webkit-filter: grayscale(100%) !important;
          filter: grayscale(100%) !important; }

/* BLEND MODES
----------------------------------------------------------------------------------------------------*/
.a_blend-multiply {
  mix-blend-mode: multiply !important; }

.a_blend-screen {
  mix-blend-mode: screen !important; }

.a_blend-overlay {
  mix-blend-mode: overlay !important; }

.a_blend-exclusion {
  mix-blend-mode: exclusion !important; }

.a_blend-difference {
  mix-blend-mode: difference !important; }

/* SHADOWS
----------------------------------------------------------------------------------------------------*/
.a_cast-shadow_top {
  box-shadow: 0px -10px 10px rgba(34, 34, 34, 0.1) !important; }

/* MARGIN HELPERS
----------------------------------------------------------------------------------------------------*/
.a_no-margin {
  margin: 0 !important; }

.a_no-margin-top {
  margin-top: 0 !important; }

.a_no-margin-right {
  margin-right: 0 !important; }

.a_no-margin-bottom {
  margin-bottom: 0 !important; }

.a_no-margin-left {
  margin-left: 0 !important; }

.a_margin-top-0 {
  margin-top: 0px !important; }

.a_margin-bottom-0 {
  margin-bottom: 0px !important; }

.a_margin-top-10 {
  margin-top: 5px !important; }

.a_margin-bottom-10 {
  margin-bottom: 5px !important; }

.a_margin-top-20 {
  margin-top: 10px !important; }

.a_margin-bottom-20 {
  margin-bottom: 10px !important; }

.a_margin-top-40 {
  margin-top: 20px !important; }

.a_margin-bottom-40 {
  margin-bottom: 20px !important; }

.a_margin-top-60 {
  margin-top: 30px !important; }

.a_margin-bottom-60 {
  margin-bottom: 30px !important; }

.a_margin-top-80 {
  margin-top: 40px !important; }

.a_margin-bottom-80 {
  margin-bottom: 40px !important; }

.a_margin-top-100 {
  margin-top: 50px !important; }

.a_margin-bottom-100 {
  margin-bottom: 50px !important; }

@media print, screen and (min-width: 50em) {
  .a_margin-top-0 {
    margin-top: 0px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-0 {
    margin-bottom: 0px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-top-10 {
    margin-top: 10px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-10 {
    margin-bottom: 10px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-top-20 {
    margin-top: 20px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-20 {
    margin-bottom: 20px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-top-40 {
    margin-top: 40px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-40 {
    margin-bottom: 40px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-top-60 {
    margin-top: 60px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-60 {
    margin-bottom: 60px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-top-80 {
    margin-top: 80px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-80 {
    margin-bottom: 80px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-top-100 {
    margin-top: 100px !important; } }

@media print, screen and (min-width: 50em) {
  .a_margin-bottom-100 {
    margin-bottom: 100px !important; } }

/* PADDING HELPERS
----------------------------------------------------------------------------------------------------*/
.a_no-padding {
  padding: 0 !important; }

.a_no-padding-top {
  padding-top: 0 !important; }

.a_no-padding-right {
  padding-right: 0 !important; }

.a_no-padding-bottom {
  padding-bottom: 0 !important; }

.a_no-padding-left {
  padding-left: 0 !important; }

.a_padding-top-0 {
  padding-top: 0px !important; }

.a_padding-bottom-0 {
  padding-bottom: 0px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-0 {
    padding-top: 0px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-0 {
    padding-bottom: 0px !important; } }

.a_padding-top-10 {
  padding-top: 5px !important; }

.a_padding-bottom-10 {
  padding-bottom: 5px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-10 {
    padding-top: 10px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-10 {
    padding-bottom: 10px !important; } }

.a_padding-top-20 {
  padding-top: 10px !important; }

.a_padding-bottom-20 {
  padding-bottom: 10px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-20 {
    padding-top: 20px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-20 {
    padding-bottom: 20px !important; } }

.a_padding-top-40 {
  padding-top: 20px !important; }

.a_padding-bottom-40 {
  padding-bottom: 20px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-40 {
    padding-top: 40px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-40 {
    padding-bottom: 40px !important; } }

.a_padding-top-60 {
  padding-top: 30px !important; }

.a_padding-bottom-60 {
  padding-bottom: 30px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-60 {
    padding-top: 60px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-60 {
    padding-bottom: 60px !important; } }

.a_padding-top-80 {
  padding-top: 40px !important; }

.a_padding-bottom-80 {
  padding-bottom: 40px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-80 {
    padding-top: 80px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-80 {
    padding-bottom: 80px !important; } }

.a_padding-top-100 {
  padding-top: 50px !important; }

.a_padding-bottom-100 {
  padding-bottom: 50px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-100 {
    padding-top: 100px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-100 {
    padding-bottom: 100px !important; } }

.a_padding-top-120 {
  padding-top: 60px !important; }

.a_padding-bottom-120 {
  padding-bottom: 60px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-120 {
    padding-top: 120px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-120 {
    padding-bottom: 120px !important; } }

.a_padding-top-140 {
  padding-top: 70px !important; }

.a_padding-bottom-140 {
  padding-bottom: 70px !important; }

@media print, screen and (min-width: 50em) {
  .a_padding-top-140 {
    padding-top: 140px !important; } }

@media print, screen and (min-width: 50em) {
  .a_padding-bottom-140 {
    padding-bottom: 140px !important; } }

/* BACKGROUND COLOR
----------------------------------------------------------------------------------------------------*/
.a_bg_brand_primary {
  background-color: #2a47a1 !important; }

.a_bg_brand_primary-darker {
  background-color: #1a2c64 !important; }

.a_bg_brand_secondary {
  background-color: #f12215 !important; }

.a_bg_brand_secondary-darker {
  background-color: #af140a !important; }

.a_bg_brand_tertiary {
  background-color: #646463 !important; }

.a_bg_brand_tertiary-darker {
  background-color: #3e3e3d !important; }

.a_bg_brand_black {
  background-color: #1d1d1b !important; }

.a_bg_brand_white {
  background-color: #ffffff !important; }

.a_bg_brand_light-gray {
  background-color: #e4e4e3 !important; }

.a_bg_brand_lightest-gray {
  background-color: #fafafd !important; }

.a_bg_default_light {
  background: #ffffff !important; }

.a_bg_default_dark {
  background: #3e3e3d !important; }

/* BACKGROUND GRADIENTS
----------------------------------------------------------------------------------------------------*/
.a_bg_gradient_brand_primary {
  background: linear-gradient(-135deg, #1a2c64, #2a47a1) !important; }

.a_bg_gradient_brand_secondary {
  background: linear-gradient(-135deg, #af140a, #f12215) !important; }

.a_bg_gradient_brand_tertiary {
  background: linear-gradient(-135deg, #3e3e3d, #646463) !important; }

/* FILL COLOR
----------------------------------------------------------------------------------------------------*/
.a_fill_brand_primary svg {
  fill: #2a47a1 !important; }

.a_fill_brand_primary-darker svg {
  fill: #1a2c64 !important; }

.a_fill_brand_secondary svg {
  fill: #f12215 !important; }

.a_fill_brand_secondary-darker svg {
  fill: #af140a !important; }

.a_fill_brand_tertiary svg {
  fill: #646463 !important; }

.a_fill_brand_tertiary-darker svg {
  fill: #3e3e3d !important; }

.a_fill_brand_black svg {
  fill: #1d1d1b !important; }

.a_fill_brand_white svg {
  fill: #ffffff !important; }

.a_fill_brand_light-gray svg {
  fill: #e4e4e3 !important; }

.a_fill_brand_lightest-gray svg {
  fill: #fafafd !important; }

.a_fill_default svg {
  fill: #646463 !important; }

.a_fill_default_light svg {
  fill: #ffffff !important; }

.a_fill_default_dark svg {
  fill: #3e3e3d !important; }

/* BORDERS
----------------------------------------------------------------------------------------------------*/
.a_border-top_brand_light-gray {
  border-top: solid 1px #e4e4e3 !important; }

.a_border-bottom_brand_light-gray {
  border-bottom: solid 1px #e4e4e3 !important; }

/* TEXT COLOR
----------------------------------------------------------------------------------------------------*/
.a_text_brand_primary * {
  color: #2a47a1 !important; }

.a_text_brand_primary-darker * {
  color: #1a2c64 !important; }

.a_text_brand_secondary * {
  color: #f12215 !important; }

.a_text_brand_secondary-darker * {
  color: #af140a !important; }

.a_text_brand_tertiary * {
  color: #646463 !important; }

.a_text_brand_tertiary-darker * {
  color: #3e3e3d !important; }

.a_text_brand_black * {
  color: #1d1d1b !important; }

.a_text_brand_white * {
  color: #ffffff !important; }

.a_text_brand_light-gray * {
  color: #e4e4e3 !important; }

.a_text_brand_lightest-gray * {
  color: #fafafd !important; }

.a_text_default * {
  color: #3e3e3d !important; }

.a_text_default_light * {
  color: #ffffff !important; }

.a_text_default_dark * {
  color: #3e3e3d !important; }

/* FIXES
--------------------------------------------------------------------------------------------*/
input[type="radio" i] {
  padding: 0 !important;
  margin: 0 !important; }

.gform_wrapper ul.gfield_checkbox li, .gform_wrapper ul.gfield_radio li {
  padding: 0 !important;
  margin: 0 !important;
  margin-right: 10px !important;
  display: inline; }

.gform_wrapper ul.gfield_checkbox, .gform_wrapper ul.gfield_radio {
  margin-top: -26px !important; }

[data-s-type="hero"] .ac_hero_container {
  height: 75vh !important; }

.ac_hero_slide_content_text_desciption p {
  font-size: 40px;
  font-weight: bold;
  text-shadow: 2px 2px #444444; }

.ac_hero_slide_content_text a {
  color: #ffffff !important; }

#opzegging-sectie-titel-3-3 .ac_content_container .ac_content_flex {
  display: block !important; }

[data-s-type="hero-alt"] {
  position: relative;
  background: linear-gradient(-135deg, #1a2c64, #2a47a1) !important;
  background-image: linear-gradient(-135deg, #8f201f, #de221e) !important;
  background-position-x: initial !important;
  background-position-y: initial !important;
  background-size: initial !important;
  background-repeat-x: initial !important;
  background-repeat-y: initial !important;
  background-attachment: initial !important;
  background-origin: initial !important;
  background-clip: initial !important;
  background-color: initial !important; }

.ac_menu-2_bar_bottom {
  background: #263f8d2b; }

.ac_menu-2_logo_container .ac_menu-2_logo_img {
  margin-top: -55px !important;
  max-width: 150% !important; }

.ac_menu-2_logo_img {
  width: 220px; }

.ac_menu-2_mobile_logo_img {
  display: none; }

.ac_menu-2_logo_img {
  display: block; }

.ac_menu-2_sticky.is-stuck .ac_menu-2_logo_img {
  width: 200px;
  height: auto;
  margin-top: -5px !important; }

.ac_menu-2_bar_top {
  background: none; }
  .ac_menu-2_bar_top a {
    color: #646463 !important; }

@media screen and (max-width: 1100px) {
  [data-s-type="hero"] .ac_hero_container {
    height: 60vh !important; } }

.button.v_has-icon-left .svg-container {
  margin-right: 10px; }

.button.v_has-icon-right .svg-container {
  margin-left: 10px; }

[data-m-type="menu-2"] a {
  font-size: 11pt !important; }

[data-m-type="menu-2"] a.button {
  font-size: 16pt !important;
  margin-right: 12px;
  padding: 0.4em; }

[data-m-type="menu-2"] a:hover {
  color: #2a47a1; }

[data-s-type="hero"] .ac_hero_slide_content_inner {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.ac_menu-2_cta_link {
  font-size: 20px !important; }

[data-m-type="menu-2"] a {
  color: #1d1d1b;
  font-weight: 600;
  font-size: 13px; }

[data-s-type="hero-alt"] .ac_hero_alt_container {
  height: 200px; }

#breadcrumbs {
  display: none; }

.ac_menu-2_btn-search svg {
  width: 30px;
  height: 30px;
  margin-top: -13px; }

.ac_menu-2_bar_top_container {
  -webkit-justify-content: right;
      -ms-flex-pack: right;
          justify-content: right; }
  .ac_menu-2_bar_top_container a {
    font-weight: 600; }

.ac_menu-2_bar_bottom_container {
  -webkit-justify-content: right !important;
      -ms-flex-pack: right !important;
          justify-content: right !important; }
  .ac_menu-2_bar_bottom_container a {
    font-weight: 600; }

.ac_menu-2_bar_top {
  background: none; }

.ac_hero_slide {
  height: 60vh; }

.ac_hero_alt_slide {
  height: 125px; }

[data-s-type="hero"] .ac_hero_container {
  height: 100% !important; }

.slick-dots {
  bottom: 40px !important; }

.button:hover {
  color: #fff; }

[data-s-amount="2"] .slick-slide [data-s-amount-item] {
  max-width: initial !important; }

[data-s-type="hero-alt"] .ac_hero_alt_container {
  height: 125px;
  min-height: 125px; }

[data-s-type="hero-alt"] h1, [data-s-type="hero-alt"] h2, [data-s-type="hero-alt"] h3 {
  padding-top: 20px; }

[data-s-type="hero"] {
  height: 60vh; }

.ac_hero_slide_content_text {
  display: block; }
  .ac_hero_slide_content_text h2 {
    font-size: 34px !important;
    font-weight: bold;
    text-shadow: 2px 2px #5a5a5a;
    text-align: center; }

.ac_image-gallery_item_image_container {
  height: 500px; }

@media screen and (max-width: 1100px) {
  .ac_menu-2_sticky.is-stuck .ac_menu-2_logo_img {
    width: 200px !important;
    height: auto;
    margin-top: 10px !important; }
  .ac_menu-2_logo_img {
    width: 200px !important;
    height: auto;
    margin-top: 10px !important; } }

.ac_menu-2_logo_container + .ac_menu-2_main_content {
  margin-left: auto;
  margin-right: 5px; }

@media screen and (max-width: 49.9375em) {
  .ac_menu-2_sticky {
    display: block; }
  .ac_menu-2_mobile_logo_img {
    display: block;
    max-height: 45px;
    margin-top: 0px !important; }
  .ac_menu-2_logo_img {
    display: none; }
  .ac_menu-2_sticky.is-stuck .ac_menu-2_logo_img {
    width: 150px !important;
    height: auto;
    margin-top: 10px !important; }
  .ac_menu-2_main_content {
    padding-left: 0px !important;
    margin-left: 0px !important; }
  [data-s-type="hero"] .ac_hero_container {
    height: 50vh !important; }
  #menu-mobile {
    list-style: none;
    width: 100%;
    margin-left: 0;
    padding-left: 0; }
    #menu-mobile li {
      display: block;
      width: 100%;
      text-align: center;
      margin: 0 0 5px 0;
      padding: 0 0 5px 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
      #menu-mobile li a {
        text-align: center;
        display: block; }
      #menu-mobile li:last-of-type {
        border-bottom: 0; }
    #menu-mobile .sub-menu {
      background: rgba(0, 0, 0, 0.1);
      padding: 10px 0;
      border-radius: 5px; }
      #menu-mobile .sub-menu li {
        border-bottom: 0; } }

h2, h3, h4 {
  color: #2a47a1;
  padding-bottom: 10px; }

.home h2 {
  color: #646463;
  text-decoration: underline;
  text-underline-offset: 3px;
  -webkit-text-decoration-color: #2a47a1;
          text-decoration-color: #2a47a1; }

.main-container [data-s-type="section-content"] a {
  text-decoration: underline;
  color: #2a47a1; }
  .main-container [data-s-type="section-content"] a.button {
    color: #ffffff;
    text-decoration: none; }

.button {
  background: #1a2c64; }

body {
  color: #1d1d1b; }

[data-s-type="news"] .ac_item_content_title {
  color: #1d1d1b; }

.ac_brands_item_container {
  border: none !important; }

.ac_brands_item {
  border: none !important; }

[data-s-id="home-services"] {
  padding-bottom: 0px; }
  [data-s-id="home-services"] h2 {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px; }
  [data-s-id="home-services"] .ac_container {
    margin: 0px; }

[data-f-type="footer-1"] h2 {
  font-size: 160%;
  margin-bottom: 0px;
  opacity: .5; }

[data-f-type="footer-1"] .ac_footer_primary {
  background: #1d1d1b; }

[data-f-type="footer-1"] .ac_footer_primary_container {
  padding: 20px 10px 5px 10px; }

@media screen and (max-width: 800px) {
  [data-f-type="footer-1"] .ac_footer_primary_column:nth-child(4) {
    margin-left: -12px; } }

[data-f-type="footer-1"] .ac_footer_primary {
  background: #3e3e3d;
  border-top: 2px solid #e4e4e3; }
  [data-f-type="footer-1"] .ac_footer_primary .ac_footer_primary_column {
    -webkit-flex: 1 !important;
        -ms-flex: 1 !important;
            flex: 1 !important;
    max-width: initial !important; }
  [data-f-type="footer-1"] .ac_footer_primary .alignnone {
    width: 90%;
    float: right;
    margin: -100px 0 0 0; }

.ac_footer_primary_container {
  padding-top: 40px !important;
  padding-bottom: 20px !important; }

.ac_cta_column p {
  font-size: 18px;
  font-weight: 600; }

.ac_cta_column h2 {
  color: #646463; }

.ac_cta_column .button {
  margin-bottom: 5px !important; }

[data-s-type="cta"] {
  padding: 0 !important; }

[data-s-type="image-gallery_full-screen"] .slick-next svg,
[data-s-type="image-gallery_full-screen"] .slick-prev svg {
  fill: #2a47a1; }

li::marker {
  color: #2a47a1; }

.ac_content_1-1 {
  padding-left: 10px;
  padding-right: 10px; }

.ac_brands_item_logo {
  -webkit-filter: none !important;
  filter: none !important; }

.ac_toptasks_item:hover .ac_toptasks_item_icon {
  background: #ffffff;
  transition: all 0.3s ease; }

.ac_toptasks_item_image-container {
  background: none; }

.ac_toptasks_item_icon-container {
  position: relative;
  z-index: 1;
  margin-bottom: 10px; }

.ac_toptasks_item_icon svg {
  width: 70px;
  height: 70px;
  transition: all 0.3s ease;
  stroke: #646463;
  fill: transparent; }

.ac_toptasks_item_icon {
  width: 80px;
  height: 80px;
  background: none;
  padding: 6px;
  border-radius: 100%;
  transition: all 0.3s ease; }

/*
.ac_toptasks_item_image-container {
    background: #E3E3E3;
}

.ac_toptasks_item_container {
   background: #E3E3E3;
}

.ac_toptasks_item_icon svg {
    color: $brand-primary !important;
    stroke: $brand-primary !important;
    fill:#fff;
}

.ac_toptasks_item_content_title {
   color: $brand-primary !important;
}
*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfZm9udHMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl9mdW5jdGlvbnMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIm1peGlucy9fYm90dG9tLWl0ZW1zLW5vLWJvcmRlci5zY3NzIiwibWl4aW5zL19ib3JkZXItcmVzcG9uc2l2ZW5lc3Muc2NzcyIsIm1peGlucy9fZmluZC1jb250cmFzdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIl9zdHJ1Y3R1cmUuc2NzcyIsIl9jb21wb25lbnRzLnNjc3MiLCJjb21wb25lbnRzL2dlbmVyaWNzL19hbmNob3JzLnNjc3MiLCJjb21wb25lbnRzL2dlbmVyaWNzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL2dlbmVyaWNzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL2dlbmVyaWNzL19oci5zY3NzIiwiY29tcG9uZW50cy9nZW5lcmljcy9fbGlzdC1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvZ2VuZXJpY3MvX21hcHMuc2NzcyIsImNvbXBvbmVudHMvZ2VuZXJpY3MvX3NsaWNrLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9nZW5lcmljcy9fc3ZnLnNjc3MiLCJjb21wb25lbnRzL3BhcnRzL19hY19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL3BhcnRzL19hY19kYXRhLXMtYW1vdW50LnNjc3MiLCJjb21wb25lbnRzL3BhcnRzL19hY19iYWNrZHJvcC5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9fYWNfc2VjdGlvbl9kaXZpZGVyLnNjc3MiLCJjb21wb25lbnRzL3BhcnRzL2FjX3NlY3Rpb25fZGl2aWRlci9fYW5nbGVkLXN2Zy5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9hY19zZWN0aW9uX2RpdmlkZXIvX2J1dHQtY2hlZWtzLnNjc3MiLCJjb21wb25lbnRzL3BhcnRzL2FjX3NlY3Rpb25fZGl2aWRlci9fY3VydmVkLWNoZWVrcy5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9hY19zZWN0aW9uX2RpdmlkZXIvX2RvdHRlZC5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9hY19zZWN0aW9uX2RpdmlkZXIvX3NlbWktdHJhbnNwYXJlbnQuc2NzcyIsImNvbXBvbmVudHMvcGFydHMvYWNfc2VjdGlvbl9kaXZpZGVyL19zbWlsZS5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9hY19zZWN0aW9uX2RpdmlkZXIvX3NwaWtlZC5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9hY19zZWN0aW9uX2RpdmlkZXIvX3NwaWtlZC1zbWFsbC5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9fYWNfaGVhZGluZy5zY3NzIiwiY29tcG9uZW50cy9wYXJ0cy9hY19zb2NpYWxzLnNjc3MiLCJjb21wb25lbnRzL2Zvb3RlcnMvYWNfZl9mb290ZXJfMS9fZm9vdGVyXzFfMS5zY3NzIiwiY29tcG9uZW50cy9mb290ZXJzL2FjX2ZfX2Zvb3Rlci1nbG9iYWxzL19fZm9vdGVyX2dsb2JhbHMuc2NzcyIsImNvbXBvbmVudHMvbWVudXMvYWNfbV9tZW51XzIvX21lbnVfMl8xLnNjc3MiLCJjb21wb25lbnRzL21lbnVzL2FjX21fbWVudV8yL19fbWVudV8yX2dsb2JhbHMuc2NzcyIsImNvbXBvbmVudHMvZ2VuZXJpY3MvX2hhbWJ1cmdlci5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2JyYW5kcy9fYnJhbmRzXzEuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19icmFuZHMvX19icmFuZHNfZ2xvYmFscy5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX3BhcnRuZXJzL19wYXJ0bmVyc18xLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfcGFydG5lcnMvX19wYXJ0bmVyc19nbG9iYWxzLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfY3RhL19jdGFfMi5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX19jdGEtZ2xvYmFscy9fX2N0YV9nbG9iYWxzLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfY3RhX3RleHQtYnV0dG9uL19jdGFfdGV4dC1idXR0b25fMi5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2N0YV90ZXh0LWltYWdlL19jdGFfdGV4dC1pbWFnZV8xLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfY3RhX3RleHQtc29jaWFscy9fY3RhX3RleHQtc29jaWFsc18zLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaGVyby9faGVyb18yLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaGVyby9fX2hlcm9fZ2xvYmFscy5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2hlcm9fYWx0L19oZXJvX2FsdF8xLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaGVyb19hbHQvX19oZXJvX2FsdF9nbG9iYWxzLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaW1hZ2UvX2ltYWdlXzEuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS9fX2ltYWdlX2dsb2JhbHMuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS1iZy1maXhlZC9faW1hZ2UtYmctZml4ZWRfMS5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2ltYWdlLWJnLWZpeGVkL19faW1hZ2UtYmctZml4ZWRfZ2xvYmFscy5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW4vX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5fMS5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW4vX19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2dsb2JhbHMuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS1nYWxsZXJ5X2dyaWQvX2ltYWdlLWdhbGxlcnlfZ3JpZF8yLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaW1hZ2UtZ2FsbGVyeV9ncmlkL19faW1hZ2UtZ2FsbGVyeV9ncmlkX2dsb2JhbHMuc2NzcyIsIm1peGlucy9fY29udGVudC1hbGlnbm1lbnQuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS1nYWxsZXJ5L19pbWFnZS1nYWxsZXJ5XzIuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS1nYWxsZXJ5L19faW1hZ2UtZ2FsbGVyeV9nbG9iYWxzLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfbWFwcy9fbWFwc18xLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfbmV3cy9fbmV3c180LnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfX2l0ZW1zLWdsb2JhbHMvX19pdGVtX2dsb2JhbHMuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19faXRlbXMtZ2xvYmFscy9faXRlbV9nbG9iYWxfY29udGFpbmVyLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfX2l0ZW1zLWdsb2JhbHMvX2l0ZW1fZ2xvYmFsX2l0ZW0uc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19faXRlbXMtZ2xvYmFscy9faXRlbV9nbG9iYWxfaXRlbS1ob3Zlci1zdGF0ZXMuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19faXRlbXMtZ2xvYmFscy9faXRlbV9nbG9iYWxfbGlzdC1zdHlsZS1zbWFsbC5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX19pdGVtcy1nbG9iYWxzL19pdGVtX2dsb2JhbF9pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX19pdGVtcy1nbG9iYWxzL19pdGVtX2dsb2JhbF9pY29uLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfX2l0ZW1zLWdsb2JhbHMvX2l0ZW1fZ2xvYmFsX2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19faXRlbXMtZ2xvYmFscy9faXRlbV9nbG9iYWxfY29udGVudC1vdmVyLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfX2l0ZW1zLWdsb2JhbHMvX2l0ZW1fZ2xvYmFsX3NsaWRlci5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX3JlZmVyZW5jZXMvX3JlZmVyZW5jZXNfMi5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX3JlZmVyZW5jZXMtZ3JpZC9fcmVmZXJlbmNlcy1ncmlkXzEuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19faXRlbXMtZ2xvYmFscy9faXRlbV9nbG9iYWxfY29sdW1ucy5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX3NlcnZpY2VzLWdyaWQvX3NlcnZpY2VzLWdyaWRfMS5zY3NzIiwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX3NlcnZpY2VzL19zZXJ2aWNlc18yLnNjc3MiLCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfdG9wdGFza3MvX3RvcHRhc2tzXzEuc2NzcyIsImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc190b3B0YXNrcy9fX3RvcHRhc2tzX2dsb2JhbHMuc2NzcyIsIl9zZWN0aW9uLWNvbnRyb2wuc2NzcyIsIl9hZGp1c3RtZW50cy5zY3NzIiwiX2JyYW5kLWFkanVzdG1lbnRzLnNjc3MiLCJfZml4ZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7OEZBQzhGO0FBRTlGLGlIQUFZO0FDSFo7OEZBQzhGO0FBRTlGOztFQUVFO0FBa0RGOztFQUVFO0FBc0JGOztFQUVFO0FBZUY7O0VBRUU7QUFRRjs7RUFFRTtBQVNGOztFQUVFO0FDdkhGOzhGQUM4RjtBQ0Q5Rjs4RkFDOEY7QUNEOUY7Ozs7O0VBS0U7QUNMRjs7Ozs7OztFQU9FO0FDUEY7Ozs7Ozs7OzBCQVEwQjtBQ1IxQjs7Ozs7R0FLRztBQ3dDRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VFOUVGLGVBWHVDO0VGb0dqQyxpQkFBZ0IsRUFFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQWFEOzs7T0FHRztBQUVIO0VBQ0Usa0NBQWlDO0VBQUUsT0FBTztFQUMxQyxlQUFjO0VBQUUsT0FBTyxFQUN4Qjs7QUFJRDtvRkFD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c0oxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGlCZC9Sc0M7RWNnU3RDLHFCQUFvQixFQUNyQjs7QU5nREM7RU01Q0EsZUY1S2lCO0VFNktqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQU1FLHFGZHJUa0c7RWNzVGxHLG1CRmhOc0I7RUVpTnRCLGlCZHRUOEI7RWN1VDlCLGViL1NnRDtFYWdUaEQsbUNGNUxzQyxFRWtNdkM7RUFoQkQ7Ozs7OztJQWFJLGVBQWM7SUFDZCxlRnhRZSxFRXlRaEI7O0FOM05EO0VNdU9RLHNCQ3ZQNkM7RURtUTdDLGVGM05TO0VFbU9ULGNBQWE7RUFPYixzQkZ6T2lCLEVFMk9wQjs7QUFqQ0Q7RUFJSSxzQkN2UDZDO0VEbVE3QyxlRjNOUztFRW1PVCxjQUFhO0VBT2Isc0JGek9pQixFRTJPcEI7O0FBakNEO0VBSUksbUJDdlA2QztFRG1RN0MsZUYzTlM7RUVtT1QsY0FBYTtFQU9iLHNCRnpPaUIsRUUyT3BCOztBQWpDRDtFQUlJLHNCQ3ZQNkM7RURtUTdDLGVGM05TO0VFbU9ULGNBQWE7RUFPYixzQkZ6T2lCLEVFMk9wQjs7QUFqQ0Q7RUFJSSxzQkN2UDZDO0VEbVE3QyxlRjNOUztFRW1PVCxjQUFhO0VBT2Isc0JGek9pQixFRTJPcEI7O0FBakNEO0VBSUksc0JDdlA2QztFRG1RN0MsZUYzTlM7RUVtT1QsY0FBYTtFQU9iLHNCRnpPaUIsRUUyT3BCOztBRWpOSDtFUm5ERjtJTXVPUSxzQkN2UDZDLEVEb1JoRDtFQWpDRDtJQUlJLHNCQ3ZQNkMsRURvUmhEO0VBakNEO0lBSUksc0JDdlA2QyxFRG9SaEQ7RUFqQ0Q7SUFJSSxzQkN2UDZDLEVEb1JoRDtFQWpDRDtJQUlJLHNCQ3ZQNkMsRURvUmhEO0VBakNEO0lBSUksc0JDdlA2QyxFRG9SaEQsRUFBQTs7QU5uR0w7RU0wR0EscUJBQW9CO0VBQ3BCLGVidFdnRDtFYXVXaEQsc0JGck95QjtFRXVPekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlRjVPMkQsRUVnUDVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBTnZLRDtFTTRLQSxZQUFXO0VBRVgsdUJDbFRxRDtFRG1UckQsVUFBUztFQUNULHdCRnhQeUI7RUUwUHpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDRnRWaUI7RUV1VmpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JGbFIwQjtFRW1SMUIsNkJGalF5QjtFRWtRekIsaUJGclJzQixFRXNSdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQkYzUXNCO0VFNFF0QixzQkY5UWtCLEVFK1FuQjs7QUFHRDtFQUNFLHFCRmpSc0IsRUVrUnZCOztBQUdEO0VBRUkscUJGdFIyQjtFRXVSM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JGNVJ5QixFRWtTMUI7RUFQRDtJQUlJLHNCRjdSOEI7SUU4UjlCLGlCZGpib0MsRWNrYnJDOztBQUlIO0VBQ0UsaUJGM1QwQjtFRTRUMUIseUNDMVdxRDtFRDJXckQsK0JGellpQixFRStZbEI7RUFURDtJQU1JLGlCRmpVb0I7SUVrVXBCLGVGNVlhLEVFNllkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHNCQ3RYcUQ7RUR1WHJELGVGcFplLEVFeVpoQjtFQVJEO0lBTUksY0EvTzZCLEVBQUE7O0FBb1BqQztFQUNFLGtDYnZjaUI7RWF3Y2pCLGViM2NnRDtFYTRjaEQsYUFBWSxFQUNiOztBTjdRQztFTWlSQSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSwwQ0M1WXFEO0VEOFlyRCwwQkY1YWlCO0VFNmFqQiwwQkY5YWdCO0VFZ2JoQiw2REY3WG1FO0VFOFhuRSxpQmRqZWlDO0Vja2VqQyxlYjFkaUIsRWEyZGxCOztBQUdEO0VBQ0UsVUFBUztFQUNULGlDQ3BaUztFRHNaVCwwQkYxYmdCO0VFNGJoQiw2REZ6WW1FO0VFMFluRSxlYnJlaUIsRWEwZWxCOztBRzVjRDtFQUNFLG1CTGtJeUI7RUtqSXpCLHNCTGtJNEI7RUtoSTVCLGlCakIxQ2lDO0VpQjJDakMsaUJMMkhzQjtFSzFIdEIsZUxNZSxFS0xoQjs7QUFHRDtFQUNFLG1CTG1I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NEI7SUM2SjVCLGNEN0o0QixFQzJMdkM7SUE1Qlc7TTlFKzFHTjs7UThFOTFHVSxXRC9Kc0I7UUNnS3RCLFlEaEtzQixFQzBMckMsRUFBQTtJOUV1MEdHOztNOEU5MUdZLGM1RS9LSztNNEVnTEwsYURyS3dCO01Dc0t4QixjRHRLd0I7TUN1S3hCLDBCNUVySW1CLEU0RTBJdEI7TUFKRztROUVpMkdSOztVOEVoMkdZLFdEeEtrQjtVQ3lLbEIsWUR6S2tCLEVDMkt6QixFQUFBO0k3RDVDUDtNakI4NEdBOztROEUzMUdVLCtCNUU5TEssRTRFK0xSLEVBQUE7SUFJVDtNOUUwMUdFOztROEV6MUdFLDBCQUF5QixFQUVoQyxFQUFBO0U5RTAxR0M7SThFMXpHVSxhQUFZO0lBQ1osYUR6TmdDO0lDME5oQyxVQUFTO0lBQ1QsdUNBQTJGO1FBQTNGLG1DQUEyRjtZQUEzRiwrQkFBMkYsRUFDOUY7RTlFMnpHUDtJOEV6ekdVLGFBQVk7SUFDWixhRC9OZ0M7SUNnT2hDLFVBQVM7SUFDVCxtQ0FBd0Q7UUFBeEQsK0JBQXdEO1lBQXhELDJCQUF3RCxFQUMzRDtFOUUwekdQO0k4RXJ6R0UsYUR2T3dDLEVDd08zQztFOUVzekdDO0k4RTd5R0UsbUJBQWtCO0lBQ2xCLGNBQWE7SUFDYixZRHZPaUM7SUN3T2pDLFVBQVM7SUFDVCxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQjtJQUV2QixjQUFhLEVBNkJwQjtJN0R2Sks7TWpCeTZHQTtROEU3eUdNLGVBQWMsRUEyQnpCLEVBQUE7STdEdkpLO01qQjQ2R0E7UThFMXlHTSxnQkFBZSxFQUNsQixFQUFBO0k5RTJ5R0w7TThFeHlHSSxXQUFVO01BQ1YsWUFBVyxFQUNkO0k5RXl5R0Q7TThFdnlHSSxXQUFVO01BQ1YsWUFBVztNQUNYLGM1RXZSYTtNNEV3UmIsMEI1RTNPMkIsRTRFNE85QjtJOUV3eUdEO004RXR5R0ksb0RBQTJDO1VBQTNDLGdEQUEyQztjQUEzQyw0Q0FBMkMsRUFDOUM7STlFdXlHRDtNOEVweUdRLCtCNUUvUlMsRTRFZ1NaO0U5RXF5R1A7STZFOWhI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M0MxQjtFcEdzdElQO0lxR251SUUsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0Qix1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLFdSMkN3QjtJUTFDeEIsMEJuR29EK0I7SW1HbEQzQixpQlJ5QzBCLEVRdkNqQztFckdrdUlDO0lxR2h1SUUseUJSd0NvRTtJUXZDcEUsWUFBVztJQUNYLDBCbkc0QytCLEVtR3BDbEM7SXJHMHRJRztNcUc1dElJLDBCbkdzQzJCLEVtR3JDOUI7RXJHNnRJSDtJcUc1cklNLGNBQWEsRUFDaEI7RXJHNnJJSDtJcUd2cklNLGVuR2xENEMsRW1Hc0RuRDtFckdxcklDO0lxR2xySU0sNkJuR3pENEMsRW1HNkRuRDtFckdncklDO0lxRzdxSU0sNkJuR2hFNEMsRW1Hb0VuRDtFckcycUlDO0lxR2pxSU0sbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixhUlRrQjtJUVVsQixjUlZrQjtJUXVCZCxZbkdqRFU7SW1Ha0RWLGFuR2xEVSxFbUdnRXJCO0lyR3lvSUc7TXFHbHFJUSxhUmJjO01RY2QsY1JkYztNUWVkLDhCbkd2Rlk7TW1Hd0ZaLDJCbkd4Q3VCLEVtR3lDMUI7RXJHbXFJUDtJc0dwd0lNLGNUa0NxQjtJU2pDckIsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0IsRUFXekI7SXJGMElDO01qQmtuSUE7UXNHcHdJTSxjVDhCaUIsRVN0QnhCLEVBQUE7RXRHOHZJSDtJc0d4dklNLGFBQVk7SUFDWixvQnBHVjRDO0lvR1c1QyxtQkFBa0IsRUEyQnJCO0l0Ryt0SUQ7TXNHOXVJWSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLFlBQVc7TUFDWCxhQUFZO01BQ1osa0VBQXdIO01BQ3hILFdBQVU7TUFLTixVQUFTLEVBRWhCO0V0RzB1SVg7SXNHcHVJTSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLE9BQU07SUFDTixhQUFZO0lBQ1osYUFBWTtJQUNaLFlBQVc7SUFDWCw2QkFBb0I7SUFBcEIsNEJBQW9CO0lBQXBCLHFCQUFvQjtJQUNwQixRQUFPO0liL0NQLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLGtDQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCO0lBQ3pCLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCLEVhaUQxQjtFdEdxdUlIO0lzR251SU0saUJBQWdCLEVBQ25CO0V0R291SUg7SXVHbHlJRSxlQUFjO0lBQ2QsaUJBQWdCO0lBR2hCLGtCVkhnQztJVUloQyxpQkFBZ0I7SUFDaEIsV0FBVTtJQUNWLDhCckcrQytCLEVxR2hCbEM7SXZHbXdJRztNdUc5eElJLG9CQUFtQjtNQUNuQixrQkFBaUI7TUFDakIsV0FBVSxFQUNiO0l2Ryt4SUQ7TXVHMXhJSSxpQkFBZ0IsRUFDbkI7SXRGcUlDO01qQnVwSUE7UXVHN3dJTSwrQkFBOEIsRUFDakMsRUFBQTtFdEZxSEg7SWpCMHBJRjtNNkYxc0lZLGNBQWEsRUFDaEIsRUFBQTtFNUUrQ1A7SWpCNnBJRjtNNkZ2c0lRLFdBQVUsRUFFakIsRUFBQTtFNUVtQ0M7SWpCcXFJRjtNNkZyc0lRLG9CM0YzR1MsRTJGNkdoQixFQUFBO0U3RnFzSUg7STZGbnNJTSwwQkFBeUI7SUFDekIsZUFBYztJQUNkLG9CQUFtQixFQUN0QjtFN0Zvc0lIO0k2RmxzSU0sZ0JBQWU7SUFDZixpQkFBZ0I7STVGOUdwQixxRkFsQmtHO0lBbUJsRyxpQkFBZ0I7SUFDaEIsbUJBQWtCO0k0RjhHZCxnQkFBZSxFQUNsQjtFN0Zxc0lIO0k2Rm5zSU0sMEJBQXlCO0lBQ3pCLGVBQWM7SUFDZCxvQkFBbUIsRUFDdEI7RTVFbUJDO0lqQmtySUY7TTZGaHNJVyw4QjNGcklTLEUyRnNJWixFQUFBOztBV2xKWjs4RkFDOEY7QXhHcTFJOUY7RThGdDFJQTs4RkFDOEY7RVV1RzFGLGdHQUFnRyxFQWdCbkc7RXhHa3VJQztJK0Z0MUlFLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsaUJBQWdCO0lBQ2hCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlO0lBR1gsZ0JBQStCLEVBRXRDO0UvRm8xSUM7SWdHNzFJRSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLG1CQUFrQjtJQWVkLHFCUVlzQjtJUlJ0QixnQjlGa0NjO0k4RnRCVixnQkFBK0IsRUFtQjFDO0kvRXdHSztNakJ5c0lBO1FnRzMxSU0sWUFBVztRQUNYLGdCQUFlLEVBeUMxQixFQUFBO0VoR296SUM7SWdHanpJRSxpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLG1CQUFrQjtJQUNsQiwwQjlGRCtCO0k4RlMzQixpQlFoRGtCLEVScUR6QjtFL0VnRks7SWpCd3RJRjtNaUd4MklnQiwrQkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQjtNQUN0QixhTzhCVSxFUDdCYjtJakd5MkliO01pR3IySWdCLG9CL0ZIZ0MsRStGSW5DO0lqR3MySWI7TWlHbDJJZ0IsaUJPK0JvQixFUDdCM0I7SWpHazJJVDtNaUcvMUlnQixrQi9GWEMsRStGb0JKO01qR3cxSVg7UWlHNTFJc0IsZ0IvRmxCd0I7UStGbUJ4QixrQkFBaUIsRUFFeEI7SWpHNDFJakI7TWlHdjFJZ0IsZ0MvRnhCQyxFK0Z5Qko7SWpHdzFJYjtNaUdwMUlnQixnQy9GN0JDLEUrRjhCSjtJakdxMUliO01pRzMwSW9CLFkvRnhDSCxFK0Z5Q0EsRUFBQTtFakc0MEluQjtJbUcvM0lNLGNLa0NxQjtJTGpDckIsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJqR21EMkI7SWlHakR2QixvQmpHRXdDO0lpR0N4QyxtQmpHNkNlLEVpR3hDMUI7RW5HeTNJQztJbUd0M0lNLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWTtJQUNaLE9BQU07SUFDTixRQUFPO0lBQ1AsYUthd0I7SUxaeEIsMEJqR2dDMkI7SWlHL0IzQixzQkFBcUI7SUFFakIsbUJqRzRCZSxFaUd2QjFCO0VuR2szSUM7SW9HLzRJTSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGFJMkVrQjtJSjFFbEIsY0kwRWtCO0lKN0RkLFlsR21DVTtJa0dsQ1YsYWxHa0NVLEVrR3BCckI7SXBHdTNJRztNb0doNUlRLGFJdUVjO01KdEVkLGNJc0VjO01KckVkLCtCbEdBUztNa0dDVCwyQmxHNEN1QixFa0czQzFCO0VwR2k1SVA7SXFHOTVJRSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsY25HbURrQjtJbUdsRGxCLDBCbkdvRCtCO0ltR2xEM0IsaUJHeUMwQixFSHZDakM7RXJHNjVJQztJcUczNUlFLGdCR3dDOEM7SUh2QzlDLFlBQVc7SUFDWCwwQm5HNEMrQixFbUdwQ2xDO0lyR3E1SUc7TXFHdjVJSSwwQm5Hc0MyQixFbUdyQzlCO0VyR3c1SUg7SXFHbDVJVSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLGdDQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCLEVBRTlCO0VyR2s1SUg7SXFHaDVJTSxZRzJCeUI7SUgxQnpCLGFHMEJ5QjtJSHpCekIscUNuR3JCYTtJbUdzQmIsY0d5QjRCO0lIeEI1QixtQkd5QmlDO0lIdEI3QixvQkFBbUIsRUFZMUI7SXJHbzRJRDtNcUc3NElRLFlBQWlFO01BQ2pFLGFBQWtFO01BSTlELGNuR2xDSztNbUdtQ0wsa0JBQWlCLEVBRXhCO0VyRzA0SVA7SXFHLzNJTSxlbkdoRGEsRW1Hb0RwQjtFckc2M0lDO0lxRzEzSU0sZ0NuR3ZEYSxFbUcyRHBCO0VyR3czSUM7SXFHbjNJTSxjQUFhLEVBRXBCO0VyR20zSUM7SXFHejJJTSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGFHVGtCO0lIVWxCLGNHVmtCO0lIdUJkLFluR2pEVTtJbUdrRFYsYW5HbERVLEVtR2dFckI7SXJHaTFJRztNcUcxMklRLGFHYmM7TUhjZCxjR2RjO01IZWQsK0JuR3BGUztNbUdxRlQsMkJuR3hDdUIsRW1HeUMxQjtFckcyMklQO0lzRzU4SU0sY0VtQ3FCO0lGbENy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TWF3QjtJTlp4QiwwQmpHZ0MyQjtJaUcvQjNCLHNCQUFxQjtJQUVqQixtQmpHNEJlLEVpR3ZCMUI7RW5HMGlKQztJb0czaUpNLGNBQWEsRUFHcEI7RXBHMGlKQztJcUc1a0pFLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxXSTJDd0I7SUoxQ3hCLDBCbkdvRCtCO0ltR2xEM0IsaUJJeUMwQixFSnZDakM7RXJHMmtKQztJcUd6a0pFLGNJd0NnRDtJSnZDaEQsWUFBVztJQUNYLDBCbkc0QytCLEVtR3BDbEM7SXJHbWtKRztNcUdya0pJLDBCbkdzQzJCLEVtR3JDOUI7RXJHc2tKSDtJcUdoa0pVLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFFOUI7RXJHZ2tKSDtJcUc5akpNLFlJMkJ5QjtJSjFCekIsYUkwQnlCO0lKekJ6QixxQ25HckJhO0ltR3NCYixjSXlCNEI7SUp4QjVCLG1CSXlCaUM7SUp0QjdCLG9CQUFtQixFQVkxQjtJckdrakpEO01xRzNqSlEsWUFBaUU7TUFDakUsYUFBa0U7TUFJOUQsY25HbENLO01tR21DTCxrQkFBaUIsRUFFeEI7RXJHd2pKUDtJcUc3aUpNLGVuR2hEYSxFbUdvRHBCO0VyRzJpSkM7SXFHeGlKTSxnQ25HdkRhLEVtRzJEcEI7RXJHc2lKQztJcUdqaUpNLGNBQWEsRUFFcEI7RXJHaWlKQztJcUczL0lNLGNBQWEsRUFHcEI7RXJHMC9JQztJc0dobkpNLGNHbUNxQjtJSGxDckIsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0IsRUFXekI7SXJGMElDO01qQjg5SUE7UXNHaG5KTSxjRytCaUIsRUh2QnhCLEVBQUE7RXRHMG1KSDtJc0dwbUpNLGFBQVk7SUFDWixvQnBHVjRDO0lvR1c1QyxtQkFBa0IsRUEyQnJCO0l0RzJrSkQ7TXNHMWxKWSxZQUFXO01B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QjNCLHNCQUFxQjtJQUVqQixtQmpHNEJlLEVpR3ZCMUI7RW5HaXhKQztJb0dseEpNLGNBQWEsRUFHcEI7RXBHaXhKQztJcUduekpFLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxXTTJDd0I7SU4xQ3hCLDBCbkdvRCtCO0ltR2xEM0IsaUJNeUMwQixFTnZDakM7RXJHa3pKQztJcUdoekpFLGNNd0NnRDtJTnZDaEQsWUFBVztJQUNYLDBCbkc0QytCLEVtR3BDbEM7SXJHMHlKRztNcUc1eUpJLDBCbkdzQzJCLEVtR3JDOUI7RXJHNnlKSDtJcUd2eUpVLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFFOUI7RXJHdXlKSDtJcUdyeUpNLFlNMkJ5QjtJTjFCekIsYU0wQnlCO0lOekJ6QixxQ25HckJhO0ltR3NCYixjTXlCNEI7SU54QjVCLG1CTXlCaUM7SU50QjdCLG9CQUFtQixFQVkxQjtJckd5eEpEO01xR2x5SlEsWUFBaUU7TUFDakUsYUFBa0U7TUFJOUQsY25HbENLO01tR21DTCxrQkFBaUIsRUFFeEI7RXJHK3hKUDtJcUdweEpNLGVuR2hEYSxFbUdvRHBCO0VyR2t4SkM7SXFHN3dKTSxjQUFhLEVBRXBCO0VyRzZ3SkM7SXFHeHdKTSxjQUFhLEVBRXBCO0VyR3d3SkM7SXFHbHVKTSxjQUFhLEVBR3BCO0VyR2l1SkM7SXNHdjFKTSxjS21DcUI7SUxsQ3JCLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCLEVBV3pCO0lyRjBJQztNakJxc0pBO1FzR3YxSk0sY0srQmlCLEVMdkJ4QixFQUFBO0V0R2kxSkg7SXNHMzBKTSxhQUFZO0lBQ1osb0JwR1Y0QztJb0dXNUMsbUJBQWtCLEVBMkJyQjtJdEdrekpEO01zR2owSlksWUFBVztNQUNYLG1CQUFrQjtNQUNsQixZQUFXO01BQ1gsYUFB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dkIxQjtFbkd3L0pDO0lvR3JoS00sbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixhUTJFa0I7SVIxRWxCLGNRMEVrQjtJUjdEZCxZbEdtQ1U7SWtHbENWLGFsR2tDVSxFa0dwQnJCO0lwRzYvSkc7TW9HdGhLUSxhUXVFYztNUnRFZCxjUXNFYztNUnJFZCwrQmxHQVM7TWtHQ1QsMkJsRzRDdUIsRWtHM0MxQjtFcEd1aEtQO0lxR3BpS0Usc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0Qix1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLFdPMkN3QjtJUDFDeEIsMEJuR29EK0I7SW1HbEQzQixpQk95QzBCLEVQdkNqQztFckdtaUtDO0lxR2ppS0UsZ0JPd0M4QztJUHZDOUMsWUFBVztJQUNYLDBCbkc0QytCLEVtR3BDbEM7SXJHMmhLRztNcUc3aEtJLDBCbkdzQzJCLEVtR3JDOUI7RXJHOGhLSDtJcUd4aEtVLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsZ0NBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFFOUI7RXJHd2hLSDtJcUd0aEtNLFlPMkJ5QjtJUDFCekIsYU8wQnlCO0lQekJ6QixxQ25HckJhO0ltR3NCYixjT3lCNEI7SVB4QjVCLG1CT3lCaUM7SVB0QjdCLG9CQUFtQixFQVkxQjtJckcwZ0tEO01xR25oS1EsWUFBaUU7TUFDakUsYUFBa0U7TUFJOUQsY25HbENLO01tR21DTCxrQkFBaUIsRUFFeEI7RXJHZ2hLUDtJcUdyZ0tNLGVuR2hEYSxFbUdvRHBCO0VyR21nS0M7SXFHOS9KTSxjQUFhLEVBRXBCO0VyRzgvSkM7SXFHei9KTSxjQUFhLEVBRXBCO0VyR3kvSkM7SXFHLytKTSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGFPVGtCO0lQVWxCLGNPVmtCO0lQdUJkLFluR2pEVTtJbUdrRFYsYW5HbERVLEVtR2dFckI7SXJHdTlKRztNcUdoL0pRLGFPYmM7TVBjZCxjT2RjO01QZWQsK0JuR3BG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QUM1Qjs7QUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0JFIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBGT05UU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDUwMCw3MDB8VGl0aWxsaXVtK1dlYjoyMDAsMzAwLDQwMCw1MDAsNjAwKTtcbi8qIFZBUklBQkxFU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgICBCUkFORCBDT0xPUlNcbiovXG4vKlxuICAgIERFRkFVTFRTXG4qL1xuLypcbiAgICBPVEhFUiBWQVJJQUJMRVNcbiovXG4vKlxuICAgIExJU1QgRk9SIERFRkFVTFQgQkcgQ09MT1IgR0VORVJBVElPTlxuKi9cbi8qXG4gICAgTElTVCBGT1IgREVGQVVMVCBGT05UIENPTE9SIEdFTkVSQVRJT05cbiovXG4vKlxuICAgIExJU1QgRk9SIERFRkFVTFQgRklMTCBDT0xPUiBHRU5FUkFUSU9OXG4qL1xuLyogRlVOQ1RJT05TXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNSVhJTlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1JWElOIC0gQk9UVE9NIElURU1TIE5PIEJPUkRFUiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIFJlbW92ZXMgYm9yZGVyIGJvdHRvbSBmcm9tIGxhc3QgaXRlbXMgaW4gYSBncmlkXG5cbiovXG4vKiBNSVhJTiAtIEJPUkRFUiBSRVNQT05TSVZFTkVTU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgVGhpcyBtaXhpbiBjYWxjdWxhdGVzIHRoZSB0cmFucGFyZW50IGJvcmRlcnMgb24gZ3JpZHMsIHNvIHlvdSBoYXZlIGJvcmRlcnMgYmV0d2VlbiBpdGVtcywgYnV0IG5vdCBvbiB0aGUgbGVmdCBzaWRlLiBcbiAgICBJdCBhY2NlcHRzIGEgcGF0dGVybiwgKFMxLU1QMiksIHdoaWNoIG1lYW5zIG9uIHNtYWxsIDEgaXRlbSBwZXIgcm93LCBvbiBtZWRpdW0tcG9ydHJhaXQgMiwgZXRjLiBcbiAgICBUaGUgZmlyc3QgaXRlbSBjYW4gYmUgc2V0IGFzIGxhcmdlIGFuZCB0aGVyZWZvcmUgMTAwJSB3aWR0aCBvZiBwYXJlbnQgY29udGFpbmVyIHNpemUuXG5cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubWl4aW4gdGhhdCBjYWxjdWxhdGVzIGlmIHRleHQgbmVlZHMgdG8gYmUgbGlnaHQgb3IgZGFya1xuZGVwZW5kaW5nIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHBhc3NlZC5cblxuRnJvbSB0aGlzIFczQyBkb2N1bWVudDogaHR0cDovL3d3dy53ZWJtYXN0ZXJ3b3JsZC5jb20vci5jZ2k/Zj04OCZkPTk3NjkmdXJsPWh0dHA6Ly93d3cudzMub3JnL1RSL0FFUlQjY29sb3ItY29udHJhc3Rcblx0XHRcdFxuQ29sb3IgYnJpZ2h0bmVzcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBmb2xsb3dpbmcgZm9ybXVsYTogXG4oKFJlZCB2YWx1ZSBYIDI5OSkgKyAoR3JlZW4gdmFsdWUgWCA1ODcpICsgKEJsdWUgdmFsdWUgWCAxMTQpKSAvIDEwMDBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtLXBvcnRyYWl0PTQwZW0mbWVkaXVtPTUwZW0mbGFyZ2U9NjQuMDYyNWVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDk1JTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzZTNlM2Q7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS44O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlRpdGlsbGl1bSBXZWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMzZTNlM2Q7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNTc4OTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMzE1NzlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTg0MjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTE4NDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDEuMDUyNjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4zNjg0MnJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjEwNTI2cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuODQyMTFyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41Nzg5NXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjMxNTc5cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDEuMDUyNjNyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjM2UzZTNkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzM1MzUzNDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzguOTQ3MzdyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjMxNTc5cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU5MjExcmVtIDEuMzE1NzlyZW0gMCAxLjI1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1NTI2cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzFkMWQxYjtcbiAgY29sb3I6ICMzZTNlM2Q7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTMxNThyZW0gMC4zMjg5NXJlbSAwLjA2NTc5cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMxZDFkMWI7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEzMTU4cmVtIDAuMjYzMTZyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMWQxZDFiOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDExOC43NSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wb3J0cmFpdC10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS1wb3J0cmFpdC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXBvcnRyYWl0LXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS1wb3J0cmFpdC10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZDtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0MzQzNDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTMxMzE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMWQxZDFiOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMWQxZDFiOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzFkMWQxYjsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzFkMWQxYjsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjMWQxZDFiOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMxZDFkMWI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzZTNlM2Q7XG4gICAgY29sb3I6ICMzZTNlM2Q7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzFmMWYxZTtcbiAgICAgIGNvbG9yOiAjMWYxZjFlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2UzZTNkO1xuICAgICAgY29sb3I6ICMzZTNlM2Q7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxZjFmMWU7XG4gICAgICAgIGNvbG9yOiAjMWYxZjFlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gICAgICBjb2xvcjogIzc3NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYzNjM2M7XG4gICAgICAgIGNvbG9yOiAjM2MzYzNjOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTNlM2Q7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTNlM2Q7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMxZDFkMWI7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzFkMWQxYjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICAgICAgY29sb3I6ICMxZDFkMWI7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzZTNlM2Q7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzZTNlM2Q7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc3NzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlYzU4NDA7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi41NjU3OXJlbTtcbiAgbWFyZ2luOiAwIDAgMS4wNTI2M3JlbTtcbiAgcGFkZGluZzogMC41MjYzMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMjksIDI5LCAyNywgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4wNTI2M3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMxZDFkMWI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDEuMDUyNjNyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNTI2MzJyZW07XG4gIG1hcmdpbi1yaWdodDogMS4wNTI2M3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjUyNjMycmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45MjEwNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMxZDFkMWI7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjA1MjYzcmVtO1xuICAgIHBhZGRpbmc6IDAuNTkyMTFyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNTI2MzJyZW07XG4gIGZvbnQtc2l6ZTogMC44NTUyNnJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzFkMWQxYjsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNTI2M3JlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMWQxZDFiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi42MzE1OHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEuMDUyNjNyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNTI2MzJyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjE4NDIxcmVtIDA7XG4gIHBhZGRpbmc6IDEuMzE1NzlyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xOTczN3JlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTk3MzdyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNTY1NzlyZW07XG4gIG1hcmdpbjogMCAwIDEuMDUyNjNyZW07XG4gIHBhZGRpbmc6IDAuNTI2MzJyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMDUyNjNyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMWQxZDFiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuMDUyNjNyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNTc4OTVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlZWVjOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjUyNjMycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjA1MjYzcmVtO1xuICBmb250LXNpemU6IDAuNzg5NDdyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2UzZTNkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNGUzO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzNlM2UzZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjM2UzZTNkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzZTNlM2Q7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1wb3J0cmFpdC1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMzZTNlM2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1wb3J0cmFpdC12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1wb3J0cmFpdC12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzZTNlM2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXBvcnRyYWl0LXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2UzZTNkOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMzZTNlM2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzZTNlM2QgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2UzZTNkOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2UzZTNkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNlM2UzZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlM2UzZDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNlM2UzZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2UzZTNkOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjA1MjYzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLXBvcnRyYWl0LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLXBvcnRyYWl0LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIFNMSUNLICovXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFBIT1RPU1dJUEUgKi9cbi8qIFNUVUNUVVJFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYW5pbWUtdHlwZT1cIm5vbmVcIl0gW2RhdGEtYW5pbWUtZWxlbV0ge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIEdFTkVSSUNTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHRU5FUklDUyAtIEFOQ0hPUlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgYVtocmVmXj1cInRlbFwiXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4vKiBHRU5FUklDUyAtIEJVVFRPTiBHUk9VUFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfVxuXG5idXR0b246Zm9jdXMsIC5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxLjJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IHNvbGlkIDNweDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzJhNDdhMTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC05MGRlZywgIzFhMmM2NCwgIzJhNDdhMSk7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24gLnN2Zy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTsgfVxuICAuYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmJ1dHRvbi52X2V4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLnZfYnJhbmRfcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzJhNDdhMTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnZfYnJhbmRfcHJpbWFyeS1kYXJrZXIge1xuICAgIGJhY2tncm91bmQ6ICMxYTJjNjQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi52X2JyYW5kX3NlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI2YxMjIxNTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnZfYnJhbmRfc2Vjb25kYXJ5LWRhcmtlciB7XG4gICAgYmFja2dyb3VuZDogI2FmMTQwYTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnZfYnJhbmRfdGVydGlhcnkge1xuICAgIGJhY2tncm91bmQ6ICM2NDY0NjM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi52X2JyYW5kX3RlcnRpYXJ5LWRhcmtlciB7XG4gICAgYmFja2dyb3VuZDogIzNlM2UzZDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnZfYnJhbmRfYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMxZDFkMWI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi52X2JyYW5kX3doaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjM2UzZTNkOyB9XG4gIC5idXR0b24udl9icmFuZF9saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTRlNGUzO1xuICAgIGNvbG9yOiAjM2UzZTNkOyB9XG4gIC5idXR0b24udl9icmFuZF9saWdodGVzdC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZkO1xuICAgIGNvbG9yOiAjM2UzZTNkOyB9XG4gIC5idXR0b24udl9naG9zdCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYnV0dG9uLnZfZ2hvc3RfYnJhbmRfcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzJhNDdhMTtcbiAgICBib3JkZXItY29sb3I6ICMyYTQ3YTE7IH1cbiAgLmJ1dHRvbi52X2dob3N0X2JyYW5kX3ByaW1hcnktZGFya2VyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjMWEyYzY0O1xuICAgIGJvcmRlci1jb2xvcjogIzFhMmM2NDsgfVxuICAuYnV0dG9uLnZfZ2hvc3RfYnJhbmRfc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjZjEyMjE1O1xuICAgIGJvcmRlci1jb2xvcjogI2YxMjIxNTsgfVxuICAuYnV0dG9uLnZfZ2hvc3RfYnJhbmRfc2Vjb25kYXJ5LWRhcmtlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogI2FmMTQwYTtcbiAgICBib3JkZXItY29sb3I6ICNhZjE0MGE7IH1cbiAgLmJ1dHRvbi52X2dob3N0X2JyYW5kX3RlcnRpYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjNjQ2NDYzO1xuICAgIGJvcmRlci1jb2xvcjogIzY0NjQ2MzsgfVxuICAuYnV0dG9uLnZfZ2hvc3RfYnJhbmRfdGVydGlhcnktZGFya2VyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjM2UzZTNkO1xuICAgIGJvcmRlci1jb2xvcjogIzNlM2UzZDsgfVxuICAuYnV0dG9uLnZfZ2hvc3RfYnJhbmRfYmxhY2sge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMxZDFkMWI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWQxZDFiOyB9XG4gIC5idXR0b24udl9naG9zdF9icmFuZF93aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi52X2dob3N0X2JyYW5kX2xpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICNlNGU0ZTM7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTRlNGUzOyB9XG4gIC5idXR0b24udl9naG9zdF9icmFuZF9saWdodGVzdC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjZmFmYWZkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZhZmFmZDsgfVxuICAuYnV0dG9uLnZfdHJhbnNwYXJlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzNlM2UzZDsgfVxuICAgIC5idXR0b24udl90cmFuc3BhcmVudDpob3ZlciB7XG4gICAgICBjb2xvcjogIzNlM2UzZDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJ1dHRvbi52X3RyYW5zcGFyZW50X2JvZHkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogIzNlM2UzZDtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAuYnV0dG9uLnZfdHJhbnNwYXJlbnRfYm9keSAuc3ZnLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMS40ZW07XG4gICAgICBoZWlnaHQ6IDEuNGVtOyB9XG4gICAgLmJ1dHRvbi52X3RyYW5zcGFyZW50X2JvZHkgc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjRlbTtcbiAgICAgIGhlaWdodDogMS40ZW07IH1cbiAgICAuYnV0dG9uLnZfdHJhbnNwYXJlbnRfYm9keTpob3ZlciB7XG4gICAgICBjb2xvcjogIzNlM2UzZDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJ1dHRvbi52X2hhcy1pY29uLWxlZnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBwYWRkaW5nOiAwLjg0ZW07IH1cbiAgICAuYnV0dG9uLnZfaGFzLWljb24tbGVmdCAuc3ZnLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAuYnV0dG9uLnZfaGFzLWljb24tcmlnaHQge1xuICAgIHBhZGRpbmc6IDAuODRlbTsgfVxuICAgIC5idXR0b24udl9oYXMtaWNvbi1yaWdodCAuc3ZnLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IC44OyB9XG5cbi8qIEdFTkVSSUNTIC0gRk9STVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDEwMCwgOTksIDAuMykgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDByZW0gMnJlbSAuMnJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIGlucHV0OmRpc2FibGVkLFxuICB0ZXh0YXJlYTpkaXNhYmxlZCxcbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjE1KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjNjQ2NDYzICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gIGlucHV0OjpwbGFjZWhvbGRlcixcbiAgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICBzZWxlY3Q6OnBsYWNlaG9sZGVyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjYpICFpbXBvcnRhbnQ7IH1cbiAgaW5wdXQ6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzLFxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY0NjQ2MyAhaW1wb3J0YW50OyB9XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmc6IDByZW0gMi41cmVtIDAgMXJlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMThweCBjZW50ZXI7IH1cblxudGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDFyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiBzb2xpZCAzcHggI2U0ZTRlMyAhaW1wb3J0YW50OyB9XG5cbmlucHV0Ojotd2Via2l0LWNvbnRhY3RzLWF1dG8tZmlsbC1idXR0b24ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC45cmVtOyB9XG5cbi8qIEdFTkVSSUNTIC0gSFJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmhyIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMjksIDI5LCAyNywgMC4xNSk7XG4gIG1hcmdpbjogMzBweCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogTElTVCBTRUFSQ0hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hY19saXN0LXNlYXJjaCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjIpOyB9XG5cbi5hY19saXN0LXNlYXJjaF9pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjIpOyB9XG5cbi5hY19saXN0LXNlYXJjaF9pdGVtX2xpbmsge1xuICBwYWRkaW5nOiAyZW0gMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIEdFTkVSSUNTIC0gTUFQU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmdtLXN0eWxlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cblxuLyogR0VORVJJQ1MgLSBTTElDSyBTTElERVJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyMjI7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAtMmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogLTRlbTsgfSB9XG4gIC5zbGljay1kb3RzIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggcmdiYSg2MiwgNjIsIDYxLCAwLjEpO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBtYXJnaW46IDAgLjE1ZW07XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4OyB9XG4gICAgLnNsaWNrLWRvdHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1kb3RzIC5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2UzZTNkOyB9XG5cbi5zbGljay1zbGlkZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uLnNsaWNrLXByZXYsXG5idXR0b24uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjIyO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDNlbTtcbiAgcGFkZGluZzogLjVlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIGJ1dHRvbi5zbGljay1wcmV2IHN2ZyxcbiAgYnV0dG9uLnNsaWNrLW5leHQgc3ZnIHtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDogMmVtOyB9XG4gIGJ1dHRvbi5zbGljay1wcmV2OmhvdmVyLFxuICBidXR0b24uc2xpY2stbmV4dDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGJ1dHRvbi5zbGljay1wcmV2OmZvY3VzLFxuICBidXR0b24uc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b24uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDA7IH1cblxuYnV0dG9uLnNsaWNrLW5leHQge1xuICByaWdodDogMDsgfVxuXG4vKiBHRU5FUklDUyAtIFNWR1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuc3ZnIHtcbiAgc3Ryb2tlLXdpZHRoOiAyLjVweDsgfVxuXG4vKiBQQVJUU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUEFSVCAtIENPTlRFTlRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hY19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hY19jb250ZW50X2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgLmFjX2NvbnRlbnRfY29udGFpbmVyLmFfY29sbGFwc2VkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5hY19jb250ZW50X2ZsZXgge1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfY29udGVudF9mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuXG4uYWNfY29udGVudF9mdWxsLFxuLmFjX2NvbnRlbnRfZnVsbHdpZHRoIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNfY29udGVudF9oYWxmLFxuLmFjX2NvbnRlbnRfMS0yIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5hY19jb250ZW50X2hhbGYsXG4gICAgLmFjX2NvbnRlbnRfMS0yIHtcbiAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbi5hY19jb250ZW50XzEtMyB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfY29udGVudF8xLTMge1xuICAgICAgZmxleDogMCAxIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9IH1cblxuLmFjX2NvbnRlbnRfMi0zIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5hY19jb250ZW50XzItMyB7XG4gICAgICBmbGV4OiAwIDEgNjYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuXG4uYWNfY29udGVudF8xLTQge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmFjX2NvbnRlbnRfMS00IHtcbiAgICAgIGZsZXg6IDAgMSAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG5cbi5hY19jb250ZW50XzMtNCB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfY29udGVudF8zLTQge1xuICAgICAgZmxleDogMCAxIDc1JTtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cblxuLmFjX2NvbnRlbnRfMS01IHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5hY19jb250ZW50XzEtNSB7XG4gICAgICBmbGV4OiAwIDEgMjAlO1xuICAgICAgbWF4LXdpZHRoOiA0MCU7IH0gfVxuXG4uYWNfY29udGVudF8yLTUge1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmFjX2NvbnRlbnRfMi01IHtcbiAgICAgIGZsZXg6IDAgMSA0MCU7XG4gICAgICBtYXgtd2lkdGg6IDQwJTsgfSB9XG5cbi5hY19jb250ZW50XzMtNSB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfY29udGVudF8zLTUge1xuICAgICAgZmxleDogMCAxIDYwJTtcbiAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cblxuLmFjX2NvbnRlbnRfNC01IHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5hY19jb250ZW50XzQtNSB7XG4gICAgICBmbGV4OiAwIDEgODAlO1xuICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuXG4vKiBHUklEIC0gQkFTRUQgT04gREFUQSBBVFRSSUJVVEVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLWFtb3VudD1cIjFcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBbZGF0YS1zLWFtb3VudD1cIjJcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBbZGF0YS1zLWFtb3VudD1cIjNcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICBbZGF0YS1zLWFtb3VudD1cIjNcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBbZGF0YS1zLWFtb3VudD1cIjRcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIFtkYXRhLXMtYW1vdW50PVwiNFwiXSBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIFtkYXRhLXMtYW1vdW50PVwiNVwiXSBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgW2RhdGEtcy1hbW91bnQ9XCI1XCJdIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIG1heC13aWR0aDogMjAlOyB9IH1cblxuLyogQkFDS0RST1AgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWNfYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYWNfYmFja2Ryb3BfaW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmFjX2JhY2tkcm9wX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmFjX2JhY2tkcm9wX3ZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyOyB9XG4gIC5hY19iYWNrZHJvcF92aWRlby1jb250YWluZXIgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi8qIFNFQ1RJT04gLSBESVZJREVSIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFjX3NlY3Rpb25fZGl2aWRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvKiBTRUNUSU9OIC0gRElWSURFUiAtIEFOR0xFRCBTVkdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogU0VDVElPTiAtIERJVklERVIgLSBBTkdMRUQgU1ZHXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qIFNFQ1RJT04gLSBESVZJREVSIC0gQU5HTEVEIFNWR1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBTRUNUSU9OIC0gRElWSURFUiAtIERPVFRFRFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBTRUNUSU9OIC0gRElWSURFUiAtIERPVFRFRFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKiBTRUNUSU9OIC0gRElWSURFUiAtIEFOR0xFRCBTVkdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogU0VDVElPTiAtIERJVklERVIgLSBTUElLRURcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogU0VDVElPTiAtIERJVklERVIgLSBTUElLRUQgLSBTTUFMTFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cImFuZ2xlZC1zdmdcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgIHRvcDogLTN2dztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTE7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJhbmdsZWQtc3ZnXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogM3Z3O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cbiAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwiYW5nbGVkLXN2Z1wiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSB7XG4gICAgYm90dG9tOiAtM3Z3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwiYW5nbGVkLXN2Z1wiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDN2dztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cImJ1dHQtY2hlZWtzXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wIHtcbiAgICB0b3A6IC01MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cImJ1dHQtY2hlZWtzXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfYm90dG9tIHtcbiAgICBib3R0b206IC01MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwiYnV0dC1jaGVla3NcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl9jaGVla19sZWZ0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNTBweDsgfVxuICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJidXR0LWNoZWVrc1wiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX2NoZWVrX3JpZ2h0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MHB4OyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cImN1cnZlZC1jaGVla3NcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgIHRvcDogLTEwdnc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwiY3VydmVkLWNoZWVrc1wiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX3RvcCBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwdnc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfVxuICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJjdXJ2ZWQtY2hlZWtzXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfYm90dG9tIHtcbiAgICBib3R0b206IC0xMHZ3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwiY3VydmVkLWNoZWVrc1wiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwdnc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfVxuICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJkb3R0ZWRcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgIHRvcDogLTE5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cImRvdHRlZFwiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogLTE5LjUzcHg7IH1cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJkb3R0ZWRcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwiZG90dGVkXCJdIHN2ZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNlbWktdHJhbnNwYXJlbnRcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNlbWktdHJhbnNwYXJlbnRcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Agc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwic2VtaS10cmFuc3BhcmVudFwiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX3RvcC5wX3BvbHlnb24tMSB7XG4gICAgICB0b3A6IC0zLjl2dztcbiAgICAgIHotaW5kZXg6IDExOyB9XG4gICAgICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzZW1pLXRyYW5zcGFyZW50XCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wLnBfcG9seWdvbi0xIHN2ZyB7XG4gICAgICAgIGhlaWdodDogNHZ3OyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwic2VtaS10cmFuc3BhcmVudFwiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX3RvcC5wX3BvbHlnb24tMiB7XG4gICAgICB0b3A6IC03dnc7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzZW1pLXRyYW5zcGFyZW50XCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wLnBfcG9seWdvbi0yIHN2ZyB7XG4gICAgICAgIGhlaWdodDogN3Z3OyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNtaWxlXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wIHtcbiAgICB0b3A6IC0xMHZ3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNtaWxlXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTB2dztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNtaWxlXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfYm90dG9tIHtcbiAgICBib3R0b206IC0xMHZ3O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwic21pbGVcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20gc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHZ3O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7IH1cbiAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwic3Bpa2VkXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wIHtcbiAgICB0b3A6IC0xOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzcGlrZWRcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IC0yNXB4OyB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwic3Bpa2VkXCJdIC5hY19zZWN0aW9uX2RpdmlkZXJfYm90dG9tIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNwaWtlZFwiXSBzdmcge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzcGlrZWQtc21hbGxcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgIHRvcDogLTE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hY19zZWN0aW9uX2RpdmlkZXJbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNwaWtlZC1zbWFsbFwiXSAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogLTIwcHg7IH1cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzcGlrZWQtc21hbGxcIl0gLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmFjX3NlY3Rpb25fZGl2aWRlcltkYXRhLXMtZGl2aWRlci10eXBlPVwic3Bpa2VkLXNtYWxsXCJdIHN2ZyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qIFBBUlQgLSBTRUNUSU9OIEhFQURJTkdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hY19oZWFkaW5nIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfaGVhZGluZy52X3RpdGxlLWNlbnRlcmVkX2J1dHRvbi1yaWdodCAuYWNfaGVhZGluZ190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5hY19oZWFkaW5nLnZfdGl0bGUtY2VudGVyZWRfYnV0dG9uLXJpZ2h0IC5hY19oZWFkaW5nX2xpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDFlbTsgfSB9XG4gIC5hY19oZWFkaW5nLnZfdGl0bGUtY2VudGVyZWRfYnV0dG9uLWNlbnRlcmVkIC5hY19oZWFkaW5nX2xpbmssXG4gIC5hY19oZWFkaW5nLnZfdGl0bGUtY2VudGVyZWRfYnV0dG9uLWNlbnRlcmVkIC5hY19oZWFkaW5nX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjX2hlYWRpbmcudl90aXRsZS1sZWZ0X2J1dHRvbi1yaWdodCAuYWNfaGVhZGluZ19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFjX2hlYWRpbmdfY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFjX2hlYWRpbmdfdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmFjX2hlYWRpbmdfbGluayB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogUEFSVCAtIFNPQ0lBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hY19zb2NpYWxzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYWNfc29jaWFscyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5hY19zb2NpYWxzLnZfc21hbGxlciAuYWNfc29jaWFsc19saW5rX2ljb24ge1xuICAgIHdpZHRoOiAzZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgcGFkZGluZzogMC4zNzVlbTsgfVxuICAgIC5hY19zb2NpYWxzLnZfc21hbGxlciAuYWNfc29jaWFsc19saW5rX2ljb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAyLjI1ZW07XG4gICAgICBoZWlnaHQ6IDIuMjVlbTsgfVxuICAuYWNfc29jaWFscy52X3NtYWxsZXN0IC5hY19zb2NpYWxzX2xpbmtfaWNvbiB7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBwYWRkaW5nOiAwLjI1ZW07IH1cbiAgICAuYWNfc29jaWFscy52X3NtYWxsZXN0IC5hY19zb2NpYWxzX2xpbmtfaWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgaGVpZ2h0OiAxLjVlbTsgfVxuICAuYWNfc29jaWFscy52X2hpZGVfdGV4dCAuYWNfc29jaWFsc19saW5rX3RleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmFjX3NvY2lhbHMudl9jb2xsYXBzZS1vbi1zbWFsbCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuYWNfc29jaWFscy52X2NvbGxhcHNlLW9uLXNtYWxsIC5hY19zb2NpYWxzX2xpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTsgfSB9XG5cbi5hY19zb2NpYWxzX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICBtYXJnaW4tbGVmdDogMC4zZW07IH1cblxuLmFjX3NvY2lhbHNfbGlua19pY29uIHtcbiAgd2lkdGg6IDRlbTtcbiAgaGVpZ2h0OiA0ZW07XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBiYWNrZ3JvdW5kOiAjMWQxZDFiO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAuYWNfc29jaWFsc19saW5rX2ljb24gc3ZnIHtcbiAgICB3aWR0aDogM2VtO1xuICAgIGhlaWdodDogM2VtO1xuICAgIGZpbGw6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuXG4uYWNfc29jaWFsc19saW5rX3RleHQge1xuICBtYXJnaW4tbGVmdDogMC42ZW07IH1cblxuLyogRk9PVEVSU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRk9PVEVSIDEgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSB7XG4gIC8qICBGT09URVIgMSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzNlM2UzZDsgfVxuICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDQwcHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeV9jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeV9jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeV9jb2x1bW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgICBmbGV4OiAwIDEgMjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICBmbGV4OiAwIDEgNDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTsgfVxuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbHVtbjpudGgtY2hpbGQoMykge1xuICAgICAgICBmbGV4OiAwIDEgMjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbHVtbjpudGgtY2hpbGQoNCkge1xuICAgICAgICBmbGV4OiAwIDEgMjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3ByaW1hcnlfY29sdW1uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeV9jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbHVtbjpudGgtY2hpbGQoMykge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2xpbmsge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeV9saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5ICoge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2NvbHVtbiB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgICBmbGV4OiAwIDEgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2NvbHVtbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeV9jb2x1bW4gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfbGluayxcbiAgICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfY29sdW1uIC5hY19mb290ZXJfc2Vjb25kYXJ5X3RleHQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeV9jb2x1bW4gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfbGluayxcbiAgICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfY29sdW1uIC5hY19mb290ZXJfc2Vjb25kYXJ5X3RleHQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeV9jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2NvbHVtbjpudGgtY2hpbGQoMikgLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfbGluayxcbiAgICAgICAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeV9jb2x1bW46bnRoLWNoaWxkKDIpIC5hY19mb290ZXJfc2Vjb25kYXJ5X3RleHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeV90ZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2xpbmsge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfc29jaWFscyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX3NvY2lhbHMge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfc29jaWFsc19saW5rX2ljb24ge1xuICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7IH1cbiAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfc29jaWFsc19saW5rX2ljb24gc3ZnIHtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfc29jaWFsc19saW5rX2ljb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgICAgIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19zb2NpYWxzX2xpbmtfaWNvbjpob3ZlciBzdmcge1xuICAgICAgICAgIGZpbGw6ICMzZTNlM2Q7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0gfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSBoMiB7XG4gICAgZm9udC1zaXplOiAxNjAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfY29sdW1uOm50aC1jaGlsZCgyKSAuYWNfZm9vdGVyX2xpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3ByaW1hcnlfbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2xpbmtfY29weV9hYm92ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBmb250LXNpemU6IDgwJTsgfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3NlY29uZGFyeSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG4gIFtkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfc2Vjb25kYXJ5X2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIE1FTlVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTRUNUSU9OIC0gTUVOVSAyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBmb3IgbWVudXMgd2UgdXNlIGEgZ2xvYmFsIHNjb3BlLCBzbyB3ZSBjYW4gYWRkcmVzcyB0aGUgYm9keSBhc3dlbGxcblxuKi9cbi8qIE1FTlUgMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIFtkYXRhLW0tdHlwZT1cIm1lbnUtMlwiXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDIyMjI7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9IH1cbiAgW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIHVsLm1lbnUuZHJvcGRvd24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBbZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gdWwubWVudS5kcm9wZG93biBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIFtkYXRhLW0tdHlwZT1cIm1lbnUtMlwiXSB1bC5tZW51LmRyb3Bkb3duLnZfaGFzLWl0ZW1zLXJpZ2h0IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IC40ZW0gMDsgfVxuICAgIFtkYXRhLW0tdHlwZT1cIm1lbnUtMlwiXSB1bC5pcy1kcm9wZG93bi1zdWJtZW51IGxpLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICBsaW5lLWhlaWdodDogMjsgfVxuICAgIFtkYXRhLW0tdHlwZT1cIm1lbnUtMlwiXSB1bC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDFlbTsgfVxuICBbZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gYSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICBbZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gKyAubWFpbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7IH0gfVxuICBbZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gLnNlYXJjaC1mb3JtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5hY19tZW51LTJfY3RhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWNfbWVudS0yX2N0YV9saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmFjX21lbnUtMl9jdGFfbGluayBzdmcge1xuICAgIHdpZHRoOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDEuNmVtOyB9XG5cbi5hY19tZW51LTJfZGl2aWRlcl9hZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMWVtOyB9XG4gIC5hY19tZW51LTJfZGl2aWRlcl9hZnRlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDJweDtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCByZ2JhKDYyLCA2MiwgNjEsIDAuMSk7IH1cblxuLmFjX21lbnUtMl9kaXZpZGVyX2JlZm9yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxZW07IH1cbiAgLmFjX21lbnUtMl9kaXZpZGVyX2JlZm9yZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMnB4O1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSg2MiwgNjIsIDYxLCAwLjEpOyB9XG5cbi5hY19tZW51LTJfc3RpY2t5X2NvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgLjNzIGVhc2U7IH1cblxuLmFjX21lbnUtMl9zdGlja3kge1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjIyMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZTsgfVxuICAuYWNfbWVudS0yX3N0aWNreS5pcy1zdHVjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAyMjIyO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAuYWNfbWVudS0yX3N0aWNreS5pcy1zdHVjayAuYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgICAgIHdpZHRoOiA5OHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5hY19tZW51LTJfc3RpY2t5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYWNfbWVudS0yX2xvZ29fY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5hY19tZW51LTJfbG9nb19jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmFjX21lbnUtMl9sb2dvX2NvbnRhaW5lciB7XG4gICAgICBmbGV4OiAwIDAgMTQwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuXG5hLmFjX21lbnUtMl9sb2dvX2xpbmsge1xuICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG4gIG1hcmdpbjogMDsgfVxuICBhLmFjX21lbnUtMl9sb2dvX2xpbms6aG92ZXIge1xuICAgIG9wYWNpdHk6IC44OyB9XG5cbi5hY19tZW51LTJfbG9nb19pbWcge1xuICB3aWR0aDogMTQwcHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIC4zcyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5hY19tZW51LTJfbG9nb19pbWcge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgd2lkdGg6IGluaXRpYWw7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgLmFjX21lbnUtMl9iYXJfdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmFjX21lbnUtMl9iYXJfdG9wIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMjIzO1xuICBiYWNrZ3JvdW5kOiAjZTRlNGUzOyB9XG5cbi5hY19tZW51LTJfYmFyX3RvcF9jb250YWluZXIge1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hY19tZW51LTJfYmFyX3RvcF9jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDI7IH1cblxuLmFjX21lbnUtMl9tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogMjIyMjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAuYWNfbWVudS0yX21haW4ge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hY19tZW51LTJfbWFpbl9jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwcyAuNnM7IH0gfVxuXG4uYWNfbWVudS0yX21haW5fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAuYWNfbWVudS0yX21haW5fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gIC5hY19tZW51LTJfYmFyX2JvdHRvbSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5hY19tZW51LTJfYmFyX2JvdHRvbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjIyMztcbiAgYmFja2dyb3VuZDogI2U0ZTRlMzsgfVxuXG4uYWNfbWVudS0yX2Jhcl9ib3R0b21fY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWNfbWVudS0yX2Jhcl9ib3R0b21fY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5hY19tZW51LTJfYnRuLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5hY19tZW51LTJfYnRuLXNlYXJjaCBzdmcge1xuICAgIHdpZHRoOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDEuNmVtOyB9XG5cbi5hY19tZW51LTJfbW9iaWxlX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfbWVudS0yX21vYmlsZV9jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYWNfbWVudS0yX21vYmlsZV9jb250ZW50X2RpdmlkZXIge1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW46IDAgMWVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYyLCA2MiwgNjEsIDAuMSk7IH1cblxuLmFjX21lbnUtMl9tb2JpbGVfYnRuIHtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgcGFkZGluZzogMTIuNXB4IDEyLjVweDsgfVxuICAuYWNfbWVudS0yX21vYmlsZV9idG4gc3ZnIHtcbiAgICB3aWR0aDogMjVweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuICAgIGZpbGw6ICMzZTNlM2Q7IH1cblxuLmFjX21lbnUtMl9tb2JpbGVfYnRuLWhhbWJ1cmdlciB7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIHBhZGRpbmc6IDEycHggMTBweDsgfVxuICAuYWNfbWVudS0yX21vYmlsZV9idG4taGFtYnVyZ2VyIC5idXJnZXItaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5hY19tZW51LTJfbW9iaWxlX2J0bi1oYW1idXJnZXIgLmJ1cmdlci1pY29uLCAuYWNfbWVudS0yX21vYmlsZV9idG4taGFtYnVyZ2VyIC5idXJnZXItaWNvbjo6YmVmb3JlLCAuYWNfbWVudS0yX21vYmlsZV9idG4taGFtYnVyZ2VyIC5idXJnZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY0NjQ2MztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC1tb3otdHJhbnNmb3JtO1xuICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW8tdHJhbnNmb3JtO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cbiAgICAuYWNfbWVudS0yX21vYmlsZV9idG4taGFtYnVyZ2VyIC5idXJnZXItaWNvbjo6YmVmb3JlLCAuYWNfbWVudS0yX21vYmlsZV9idG4taGFtYnVyZ2VyIC5idXJnZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAgIC5hY19tZW51LTJfbW9iaWxlX2J0bi1oYW1idXJnZXIgLmJ1cmdlci1pY29uOjpiZWZvcmUge1xuICAgICAgdG9wOiAtNnB4OyB9XG4gICAgLmFjX21lbnUtMl9tb2JpbGVfYnRuLWhhbWJ1cmdlciAuYnVyZ2VyLWljb246OmFmdGVyIHtcbiAgICAgIHRvcDogNnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmFjX21lbnUtMl9tb2JpbGVfYnRuLWhhbWJ1cmdlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuYm9keS5zX2lzLW9wZW5fbWVudS1tb2JpbGUgLmJ1cmdlci1pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYm9keS5zX2lzLW9wZW5fbWVudS1tb2JpbGUgLmJ1cmdlci1pY29uOjpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCkgcm90YXRlKDQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSg0NWRlZyk7IH1cblxuYm9keS5zX2lzLW9wZW5fbWVudS1tb2JpbGUgLmJ1cmdlci1pY29uOjphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC00NWRlZyk7IH1cblxuLmFjX21lbnUtMl9vdmVybGF5X2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMjIyMTtcbiAgd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbiAgcGFkZGluZy10b3A6IDcwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmFjX21lbnUtMl9vdmVybGF5X2NvbnRhaW5lciB7XG4gICAgICB3aWR0aDogOTB2dztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmFjX21lbnUtMl9vdmVybGF5X2NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmFjX21lbnUtMl9vdmVybGF5X3Njcm9sbF9jb250YWluZXIge1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmFjX21lbnUtMl9vdmVybGF5X3Njcm9sbF9jb250YWluZXJfaW5uZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4uYWNfbWVudS0yX292ZXJsYXlfbWVudV9jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbnVsLmFjX21lbnUtMl9vdmVybGF5X21lbnVfcHJpbWFyeSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjIpO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtOyB9XG4gIHVsLmFjX21lbnUtMl9vdmVybGF5X21lbnVfcHJpbWFyeSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgdWwuYWNfbWVudS0yX292ZXJsYXlfbWVudV9wcmltYXJ5ID4gbGkge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDEwMCwgMTAwLCA5OSwgMC4yKTsgfVxuICAgIHVsLmFjX21lbnUtMl9vdmVybGF5X21lbnVfcHJpbWFyeSA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgdWwuYWNfbWVudS0yX292ZXJsYXlfbWVudV9wcmltYXJ5IHVsLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgdWwuYWNfbWVudS0yX292ZXJsYXlfbWVudV9wcmltYXJ5IHVsLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cblxudWwuYWNfbWVudS0yX292ZXJsYXlfbWVudV9zZWNvbmRhcnkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7IH1cbiAgdWwuYWNfbWVudS0yX292ZXJsYXlfbWVudV9zZWNvbmRhcnkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweCAwOyB9XG5cbmJvZHkuc19pcy1vcGVuX21lbnUtbW9iaWxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBib2R5LnNfaXMtb3Blbl9tZW51LW1vYmlsZSAuYWNfbWVudS0yX292ZXJsYXlfY29udGFpbmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLmFjX21lbnUtMl9vdmVybGF5X2JhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYyLCA2MiwgNjEsIDAuOCk7XG4gIHotaW5kZXg6IDIyMjA7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZSAuM3MsIGhlaWdodCAwcyAuNnM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfbWVudS0yX292ZXJsYXlfYmFja2Ryb3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmJvZHkuc19pcy1vcGVuX21lbnUtbW9iaWxlIC5hY19tZW51LTJfb3ZlcmxheV9iYWNrZHJvcCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDBzLCBvcGFjaXR5IC4zcyBlYXNlOyB9XG5cbi5hY19tZW51LTJfc2VhcmNoX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtMmVtKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAuYWNfbWVudS0yX3NlYXJjaF9jb250YWluZXIge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMWVtOyB9IH1cblxuYm9keS5JRTEwIC5hY19tZW51LTJfc2VhcmNoX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjX21lbnUtMl9zZWFyY2hfaW5wdXQge1xuICBtYXJnaW46IDA7IH1cblxuLmFjX21lbnUtMl9zZWFyY2hfY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAuN2VtO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAzZW07XG4gIGhlaWdodDogM2VtO1xuICBwYWRkaW5nOiAuN2VtOyB9XG4gIC5hY19tZW51LTJfc2VhcmNoX2Nsb3NlIHN2ZyB7XG4gICAgd2lkdGg6IDEuNmVtO1xuICAgIGhlaWdodDogMS42ZW07XG4gICAgZmlsbDogIzNlM2UzZDsgfVxuXG5ib2R5LnNfaXMtb3Blbl9tZW51LXNlYXJjaC5JRTEwIC5hY19tZW51LTJfc2VhcmNoX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkuc19pcy1vcGVuX21lbnUtc2VhcmNoIC5hY19tZW51LTJfc2VhcmNoX2NvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKC01MCUpO1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICBib2R5LnNfaXMtb3Blbl9tZW51LXNlYXJjaCAuYWNfbWVudS0yX3NlYXJjaF9jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuXG4uYWNfc29jaWFsc19saW5rX2ljb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5hY19zb2NpYWxzX2xpbmtfaWNvbiBzdmcge1xuICAgIGZpbGw6ICMzZTNlM2Q7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5hY19zb2NpYWxzX2xpbmtfaWNvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM2UzZTNkOyB9XG4gICAgICAuYWNfc29jaWFsc19saW5rX2ljb246aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfSB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU0VDVElPTlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJSQU5EUyAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFDX1NfQlJBTkRTIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwiYnJhbmRzXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJicmFuZHNcIl0ge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggMDsgfSB9XG5cbi5hY19icmFuZHNfY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW46IDJlbSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmFjX2JyYW5kc19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgd2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3JkZXItbGVmdDogc29saWQgMXB4IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjIpOyB9XG4gIC5hY19icmFuZHNfaXRlbS52X3NtYWxsZXItbG9nbyAuYWNfYnJhbmRzX2l0ZW1fbG9nbyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIC5hY19icmFuZHNfaXRlbS52X2xhcmdlci1sb2dvIC5hY19icmFuZHNfaXRlbV9sb2dvIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5hY19icmFuZHNfaXRlbTpob3ZlciAuYWNfYnJhbmRzX2l0ZW1fbG9nbyB7XG4gICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICAuYWNfYnJhbmRzX2l0ZW06aG92ZXIgLmFjX2JyYW5kc19pdGVtX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjM2UzZTNkOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmFjX2JyYW5kc19pdGVtOm50aC1sYXN0LWNoaWxkKC1uICsgMSkgLmFjX2JyYW5kc19pdGVtX2NvbnRhaW5lciB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cblxuLmFjX2JyYW5kc19pdGVtX2NvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDEwMCwgMTAwLCA5OSwgMC4yKTsgfVxuXG5bZGF0YS1zLXR5cGU9XCJicmFuZHNcIl1bZGF0YS1zLWFtb3VudD1cIjJcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV06bnRoLWNoaWxkKDJuKzEpIHtcbiAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICBbZGF0YS1zLXR5cGU9XCJicmFuZHNcIl1bZGF0YS1zLWFtb3VudD1cIjNcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICBbZGF0YS1zLXR5cGU9XCJicmFuZHNcIl1bZGF0YS1zLWFtb3VudD1cIjNcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIFtkYXRhLXMtdHlwZT1cImJyYW5kc1wiXVtkYXRhLXMtYW1vdW50PVwiNFwiXSBbZGF0YS1zLWFtb3VudC1pdGVtXTpudGgtY2hpbGQoMm4rMSkge1xuICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgW2RhdGEtcy10eXBlPVwiYnJhbmRzXCJdW2RhdGEtcy1hbW91bnQ9XCI0XCJdIFtkYXRhLXMtYW1vdW50LWl0ZW1dOm50aC1jaGlsZCg0bisxKSB7XG4gICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICBbZGF0YS1zLXR5cGU9XCJicmFuZHNcIl1bZGF0YS1zLWFtb3VudD1cIjVcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIFtkYXRhLXMtdHlwZT1cImJyYW5kc1wiXVtkYXRhLXMtYW1vdW50PVwiNVwiXSBbZGF0YS1zLWFtb3VudC1pdGVtXTpudGgtY2hpbGQoNW4rMSkge1xuICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDsgfSB9XG5cbltkYXRhLXMtdHlwZT1cImJyYW5kc1wiXVtkYXRhLXMtYW1vdW50PVwiMlwiXSBbZGF0YS1zLWFtb3VudC1pdGVtXTpudGgtbGFzdC1jaGlsZCgtbiArIDIpIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gIFtkYXRhLXMtdHlwZT1cImJyYW5kc1wiXVtkYXRhLXMtYW1vdW50PVwiM1wiXSBbZGF0YS1zLWFtb3VudC1pdGVtXTpudGgtbGFzdC1jaGlsZCgtbiArIDIpIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIFtkYXRhLXMtdHlwZT1cImJyYW5kc1wiXVtkYXRhLXMtYW1vdW50PVwiM1wiXSBbZGF0YS1zLWFtb3VudC1pdGVtXTpudGgtbGFzdC1jaGlsZCgtbiArIDMpIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgW2RhdGEtcy10eXBlPVwiYnJhbmRzXCJdW2RhdGEtcy1hbW91bnQ9XCI0XCJdIFtkYXRhLXMtYW1vdW50LWl0ZW1dOm50aC1sYXN0LWNoaWxkKC1uICsgMikgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBbZGF0YS1zLXR5cGU9XCJicmFuZHNcIl1bZGF0YS1zLWFtb3VudD1cIjRcIl0gW2RhdGEtcy1hbW91bnQtaXRlbV06bnRoLWxhc3QtY2hpbGQoLW4gKyA0KSBbZGF0YS1ib3JkZXItYm90dG9tXSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIFtkYXRhLXMtdHlwZT1cImJyYW5kc1wiXVtkYXRhLXMtYW1vdW50PVwiNVwiXSBbZGF0YS1zLWFtb3VudC1pdGVtXTpudGgtbGFzdC1jaGlsZCgtbiArIDIpIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgW2RhdGEtcy10eXBlPVwiYnJhbmRzXCJdW2RhdGEtcy1hbW91bnQ9XCI1XCJdIFtkYXRhLXMtYW1vdW50LWl0ZW1dOm50aC1sYXN0LWNoaWxkKC1uICsgNSkgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuLmFjX2JyYW5kc19pdGVtX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNfYnJhbmRzX2l0ZW1fbG9nb19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWNfYnJhbmRzX2l0ZW1fbG9nb19jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5hY19icmFuZHNfaXRlbV9sb2dvIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDUwJSkgaHVlLXJvdGF0ZSgzMGRlZyk7XG4gIHdpZHRoOiA2MCU7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQQVJUTkVSUyAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFDX1NfUEFSVE5FUlMgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJwYXJ0bmVyc1wiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwicGFydG5lcnNcIl0ge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggMDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdLnZfaXMtc2xpZGVyLnZfaGFzLWRvdHMgLmFjX2JyYW5kc19jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICBbZGF0YS1zLXR5cGU9XCJwYXJ0bmVyc1wiXS52X2lzLXNsaWRlciAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtNGVtOyB9XG5cbi5hY19wYXJ0bmVyc19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbjogMmVtIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi5hY19wYXJ0bmVyc19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLmFjX3BhcnRuZXJzX2l0ZW0udl9zbWFsbGVyLWxvZ28gLmFjX3BhcnRuZXJzX2l0ZW1fbG9nbyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIC5hY19wYXJ0bmVyc19pdGVtLnZfbGFyZ2VyLWxvZ28gLmFjX3BhcnRuZXJzX2l0ZW1fbG9nbyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgYS5hY19wYXJ0bmVyc19pdGVtOmhvdmVyIC5hY19wYXJ0bmVyc19pdGVtX2xvZ28ge1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICBhLmFjX3BhcnRuZXJzX2l0ZW06aG92ZXIgLmFjX3BhcnRuZXJzX2l0ZW1fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjM2UzZTNkOyB9IH1cblxuLmFjX3BhcnRuZXJzX2l0ZW1fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmFjX3BhcnRuZXJzX2l0ZW1fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY19wYXJ0bmVyc19pdGVtX2xvZ29fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFjX3BhcnRuZXJzX2l0ZW1fbG9nb19jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5hY19wYXJ0bmVyc19pdGVtX2xvZ28ge1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICBvcGFjaXR5OiAxOyB9XG5cbltkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdLnZfaXMtc2xpZGVyIC5hY19wYXJ0bmVyc19jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIFtkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdLnZfaXMtc2xpZGVyIC5hY19wYXJ0bmVyc19jb250YWluZXIuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuW2RhdGEtcy10eXBlPVwicGFydG5lcnNcIl0udl9pcy1zbGlkZXIgW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbltkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdLnZfaXMtc2xpZGVyIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIFtkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdLnZfaXMtc2xpZGVyIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbltkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdIC5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLyogQ1RBXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJjdGFcIl0ge1xuICAvKiBBQ19TX0NUQSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDEwMCwgMTAwLCA5OSwgMC4yKTsgfVxuICBbZGF0YS1zLXR5cGU9XCJjdGFcIl0gLmFjX2N0YV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YVwiXSAuYWNfY3RhX2NvbnRhaW5lciBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgW2RhdGEtcy10eXBlPVwiY3RhXCJdIC5hY19jdGFfY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJjdGFcIl0gLmFjX2N0YV9jb2x1bW4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJjdGFcIl0gLmFjX2N0YV9jb2x1bW4gaW1nIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmZmZmO1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIFtkYXRhLXMtdHlwZT1cImN0YVwiXSAuYWNfY3RhX2NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImN0YVwiXSAuYWNfY3RhX2NvbHVtbiB7XG4gICAgcGFkZGluZzogNDBweCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cImN0YVwiXSAuYWNfY3RhX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggcmdiYSgxMDAsIDEwMCwgOTksIDAuMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YVwiXSAuYWNfY3RhX2NvbHVtbjpudGgtY2hpbGQoMSkgcCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiY3RhXCJdIC5hY19jdGFfY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJjdGFcIl0gLmFjX2N0YV9jb2x1bW46bnRoLWNoaWxkKDIpIGEgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJjdGFcIl0gLmFjX2N0YV9jb2x1bW46bnRoLWNoaWxkKDIpIGE6aG92ZXIgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG5cbi8qIENUQSBURVhULUJVVFRPTlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtYnV0dG9uXCJdIHtcbiAgLyogQUNfU19DVEEgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gfVxuICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gLmFjX2N0YV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWJ1dHRvblwiXSAuYWNfY3RhX2NvbnRhaW5lciBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtYnV0dG9uXCJdIC5hY19jdGFfY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gLmFjX2N0YV9jb2x1bW4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gLmFjX2N0YV9jb2x1bW4gaW1nIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmZmZmO1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gLmFjX2N0YV9jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gLmFjX2N0YV9jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWJ1dHRvblwiXSAuYWNfY3RhX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1idXR0b25cIl0gLmFjX2N0YV9jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWJ1dHRvblwiXSAuYWNfY3RhX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWJ1dHRvblwiXSAuYWNfc29jaWFscyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4vKiBDVEEgVEVYVC1JTUFHRVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtaW1hZ2VcIl0ge1xuICAvKiBBQ19TX0NUQSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIH1cbiAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtaW1hZ2VcIl0gLmFjX2N0YV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWltYWdlXCJdIC5hY19jdGFfY29udGFpbmVyIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1pbWFnZVwiXSAuYWNfY3RhX2NvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtaW1hZ2VcIl0gLmFjX2N0YV9jb2x1bW4gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1pbWFnZVwiXSAuYWNfY3RhX2NvbHVtbiBpbWcge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIG1heC13aWR0aDogMjIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1pbWFnZVwiXSAuYWNfY3RhX2NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWltYWdlXCJdIC5hY19jdGFfY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtaW1hZ2VcIl0gLmFjX2N0YV9jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtaW1hZ2VcIl0gLmFjX2N0YV9jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1pbWFnZVwiXSAuYWNfc29jaWFscyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4vKiBDVEEgVEVYVC1CVVRUT05cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbltkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0ge1xuICAvKiBBQ19TX0NUQSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyB9XG4gIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0gLmFjX2N0YV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtc29jaWFsc1wiXSAuYWNfY3RhX2NvbnRhaW5lciBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtc29jaWFsc1wiXSAuYWNfY3RhX2NvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtc29jaWFsc1wiXSAuYWNfY3RhX2NvbHVtbiAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH0gfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0gLmFjX2N0YV9jb2x1bW4gaW1nIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmZmZmO1xuICAgICAgbWF4LXdpZHRoOiAyMjBweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1zb2NpYWxzXCJdIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0gLmFjX2N0YV9jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0gLmFjX2N0YV9jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwiY3RhLXRleHQtc29jaWFsc1wiXSAuYWNfc29jaWFscyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0gLmFjX3NvY2lhbHNfbGluayB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJjdGEtdGV4dC1zb2NpYWxzXCJdIC5hY19zb2NpYWxzX2xpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qIEhFUk8gLSAyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJoZXJvXCJdIHtcbiAgLyogQUNfU19IRVJPIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiA4MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAyNXZoO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNTYsIDU2LCA1NiwgMCksICMzODM4MzgpO1xuICAgICAgei1pbmRleDogMTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZXMuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZSB7XG4gICAgd2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX3NsaWRlX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTBweCkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZV9pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF9jb250YWluZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM2VtKTtcbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZV9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF9pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF90ZXh0IHtcbiAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZV9jb250ZW50X3RleHQge1xuICAgICAgICBmbGV4OiAwIDEgNzAlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF9pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4OiAwIDEgMzAlO1xuICAgIG1heC13aWR0aDogMzAlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZV9jb250ZW50X2ltYWdlIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF9pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuc2xpY2stZG90cyBidXR0b24ge1xuICAgIGJvcmRlcjogc29saWQgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1kb3RzIC5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICBib3JkZXI6IHNvbGlkIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1saXN0IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuc2xpY2stdHJhY2sge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1wcmV2LFxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1uZXh0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLnNsaWNrLXByZXYsXG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1uZXh0IHtcbiAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgaGVpZ2h0OiAyZW07IH0gfVxuICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLnNsaWNrLXByZXYgc3ZnLFxuICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLnNsaWNrLW5leHQgc3ZnIHtcbiAgICAgIGZpbGw6ICNmZmZmZmY7XG4gICAgICB3aWR0aDogMS41ZW07XG4gICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MHB4KSB7XG4gICAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLnNsaWNrLXByZXYgc3ZnLFxuICAgICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1uZXh0IHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuc2xpY2stcHJldjpob3ZlciBzdmcsXG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1uZXh0OmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzAwcHgpIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLnNsaWNrLXByZXYsXG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLnNsaWNrLXByZXYge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICBib3R0b206IDEwZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAuNWVtKTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1uZXh0IHtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgYm90dG9tOiAxMGVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOWVtKTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IDEwZW07IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19saW5rX3RvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTExO1xuICAgIGJvdHRvbTogNGVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX2xpbmtfdG8tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX2xpbmtfdG8tY29udGVudDpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19saW5rX3RvLWNvbnRlbnQgLnN2Zy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDRlbTtcbiAgICAgIGhlaWdodDogNGVtOyB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19saW5rX3RvLWNvbnRlbnQgc3ZnIHtcbiAgICAgIHdpZHRoOiA0ZW07XG4gICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgIGZpbGw6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19saW5rX3RvLWNvbnRlbnQ6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDJweCk7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX2xpbmtfdG8tY29udGVudDpob3ZlciBzdmcge1xuICAgICAgZmlsbDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gaDEsIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gaDIsIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdICo6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiA1MHZoO1xuICAgICAgbWluLWhlaWdodDogNDAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX3NsaWRlX2NvbnRlbnRfY29udGFpbmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS41ZW0pOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19zbGlkZV9jb250ZW50X3RleHQge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF90ZXh0X3RpdGxlICoge1xuICAgIGZvbnQtc2l6ZTogMTQwJTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dF90aXRsZSAqIHtcbiAgICAgICAgZm9udC1zaXplOiAxODAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuc2xpY2stZG90cyB7XG4gICAgICBib3R0b206IDJlbTsgfSB9XG5cbi8qIEFDX1NfSEVST19BTFQgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSB7XG4gIC8qIEFDX1NfSEVSTyAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9zbGlkZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9zbGlkZXMuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X3NsaWRlIHtcbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9zbGlkZV9pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfc2xpZGVfaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDgwcHg7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfc2xpZGVfY29udGVudF9jb250YWluZXIge1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfc2xpZGVfY29udGVudF9jb250YWluZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfc2xpZGVfY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfc2xpZGVfY29udGVudF9pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9zbGlkZV9jb250ZW50X3RleHQge1xuICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X3NsaWRlX2NvbnRlbnRfdGV4dCB7XG4gICAgICAgIGZsZXg6IDAgMSA4MCU7XG4gICAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X3NsaWRlX2NvbnRlbnRfaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuc2xpY2stbGlzdCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5zbGljay10cmFjayB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5zbGljay1wcmV2LFxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuc2xpY2stbmV4dCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5zbGljay1wcmV2LFxuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLnNsaWNrLW5leHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5zbGljay1wcmV2LFxuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLnNsaWNrLW5leHQge1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTsgfSB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLnNsaWNrLXByZXYgc3ZnLFxuICAgIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5zbGljay1uZXh0IHN2ZyB7XG4gICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgIHdpZHRoOiAxZW07XG4gICAgICBoZWlnaHQ6IDFlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MHB4KSB7XG4gICAgICAgIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5zbGljay1wcmV2IHN2ZyxcbiAgICAgICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLnNsaWNrLW5leHQgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgIGhlaWdodDogMmVtOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLnNsaWNrLXByZXYge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICBib3R0b206IDRlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZlbSk7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLnNsaWNrLW5leHQge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICBib3R0b206IDRlbTtcbiAgICByaWdodDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNmVtKTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiA0ZW07IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X2JhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAuYWNfaGVyb19hbHRfYmFja2Ryb3BfaW1hZ2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9iYWNrZHJvcF9pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X2JhY2tkcm9wX2ltYWdlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X2JhY2tkcm9wX3ZpZGVvLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X2JhY2tkcm9wX3ZpZGVvLWNvbnRhaW5lciB2aWRlbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9saW5rX3RvLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gaDEsIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIGgyLCBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSBoMyB7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSAqOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIElNQUdFIC0gMVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwiaW1hZ2VcIl0ge1xuICAvKiBJTUFHRSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwiaW1hZ2VcIl0gLmFjX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwiaW1hZ2VcIl0ge1xuICAgICAgbWluLWhlaWdodDogMzAwcHg7IH0gfVxuXG4vKiBJTUFHRSAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbltkYXRhLXMtdHlwZT1cImltYWdlLWJnLWZpeGVkXCJdIHtcbiAgLyogSU1BR0UgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzFhMmM2NCwgIzJhNDdhMSk7XG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyB9XG4gIFtkYXRhLXMtdHlwZT1cImltYWdlLWJnLWZpeGVkXCJdIC5hY19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cImltYWdlLWJnLWZpeGVkXCJdIC5hY19pbWFnZSBmaWd1cmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAuMjtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIFtkYXRhLXMtdHlwZT1cImltYWdlLWJnLWZpeGVkXCJdIHtcbiAgICAgIGhlaWdodDogMzAwcHg7IH0gfVxuXG4vKiBBQ19TX0lNQUdFLUdBTExFUllfRlVMTC1TQ1JFRU4gLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBBQ19TX0lNQUdFLUdBTExFUllfRlVMTC1TQ1JFRU4gLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWNfaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA0NDQ0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCBoZWlnaHQgMHMgbGluZWFyIDAuM3MsIHZpc2liaWxpdHkgMHMgbGluZWFyIDAuM3M7IH1cbiAgLmFjX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW4uc19hY3RpdmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIsIGhlaWdodCAwcyBsaW5lYXIsIG9wYWNpdHkgMC4zcyBlYXNlIDAuM3M7IH1cblxuLmFjX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5faXRlbV9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5faXRlbV9jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTc1LCAyMCwgMTAsIDAuOSk7IH1cblxuLmltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5faXRlbV9jb250ZW50X2lubmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9pdGVtX2ltYWdlX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2Nsb3NlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB6LWluZGV4OiA0NDQ1O1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9jbG9zZSB7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgICByaWdodDogNDBweDsgfSB9XG4gIC5hY19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2Nsb3NlIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZpbGw6ICMzZTNlM2Q7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAuYWNfaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9jbG9zZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLmFjX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5fY2xvc2U6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYWYxNDBhOyB9XG4gICAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2Nsb3NlOmhvdmVyIHN2ZyB7XG4gICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfSB9XG4gIC5hY19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2Nsb3NlLnNfYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDQ0NDM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIGhlaWdodCAwcyBsaW5lYXIgMC4zcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4zcztcbiAgYmFja2dyb3VuZDogcmdiYSgxNzUsIDIwLCAxMCwgMC45KTsgfVxuICAuYWNfaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9iYWNrZ3JvdW5kLnNfYWN0aXZlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgbGluZWFyLCBoZWlnaHQgMHMgbGluZWFyLCAgb3BhY2l0eSAuMnMgZWFzZSAuMnM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9pdGVtX2ltYWdlX2NvbnRhaW5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7IH0gfVxuXG5bZGF0YS1zLXR5cGU9XCJpbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuXCJdIC5zbGljay1uZXh0IHN2ZyxcbltkYXRhLXMtdHlwZT1cImltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5cIl0gLnNsaWNrLXByZXYgc3ZnIHtcbiAgZmlsbDogd2hpdGU7IH1cblxuLyogQUNfU19JTUFHRS1HQUxMRVJZLUdSSUQgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBBQ19TX0lNQUdFLUdBTExFUlkgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJpbWFnZS1nYWxsZXJ5LWdyaWRcIl0gLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9jb250YWluZXI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIFtkYXRhLXMtdHlwZT1cImltYWdlLWdhbGxlcnktZ3JpZFwiXSAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbnRhaW5lcjpudGgtY2hpbGQoZXZlbikgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgW2RhdGEtcy10eXBlPVwiaW1hZ2UtZ2FsbGVyeS1ncmlkXCJdIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29udGFpbmVyOm50aC1jaGlsZChldmVuKSAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9jb2x1bW4ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cbiAgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgxKSAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbHVtbjpudGgtY2hpbGQoMSkgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29sdW1uOm50aC1jaGlsZCgxKSAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW0ge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgxKSAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMSkgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTgwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgxKSAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgaGVpZ2h0OiAyODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgbWF4LXdpZHRoOiA0MCU7IH0gfVxuICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29sdW1uIHtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtOmhvdmVyIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbV9pbWFnZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtOmhvdmVyIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbV9jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cblxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtX2NvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbV9pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHdpbGwtY2hhbmdlOiBjb250ZW50czsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW1fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbV9jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyMjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfVxuICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbnRhaW5lcjpudGgtY2hpbGQoZXZlbikgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogaW5pdGlhbDtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7IH0gfVxuXG4vKiBBQ19TX0lNQUdFLUdBTExFUlktU0xJREVSIC0gMVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQUNfU19JTUFHRS1HQUxMRVJZIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFjX2ltYWdlLWdhbGxlcnlfY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmFjX2ltYWdlLWdhbGxlcnlfaXRlbSB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZmxleDogMCAxIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuYS5hY19pbWFnZS1nYWxsZXJ5X2l0ZW06aG92ZXIgLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYyLCA2MiwgNjEsIDAuMSk7IH1cblxuYS5hY19pbWFnZS1nYWxsZXJ5X2l0ZW06aG92ZXIgLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9pbWFnZSB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG5hLmFjX2ltYWdlLWdhbGxlcnlfaXRlbTpob3ZlciAuYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2NvbnRlbnRfaW5uZXIge1xuICBjb2xvcjogIzNlM2UzZDsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9pbWFnZV9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzNlM2UzZDtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2l0ZW1faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDEwMCwgMTAwLCA5OSwgMC4yKTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2NvbnRlbnRfaW5uZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjM2UzZTNkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9jb250ZW50X2lubmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgfSB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQ1RBXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJtYXBzXCJdIHtcbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIH1cbiAgW2RhdGEtcy10eXBlPVwibWFwc1wiXSAuYWNfbWFwc19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDAwcHg7IH1cblxuLyogQUNfU19ORVdTIC0gMVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwibmV3c1wiXSB7XG4gIC8qIElURU0gIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDJlbSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDEwMCwgMTAwLCA5OSwgMC4yKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9pbWFnZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDYyLCA2MiwgNjEsIDAuNik7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50X2NvcHktYWJvdmUge1xuICAgICAgY29sb3I6IHJnYmEoNjIsIDYyLCA2MSwgMC40KTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2NvbnRlbnRfY29weS1iZWxvdyB7XG4gICAgICBjb2xvcjogcmdiYSg2MiwgNjIsIDYxLCAwLjQpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbSB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbSAuYWNfaXRlbV9jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtIC5hY19pdGVtX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG4gICAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtIC5hY19pdGVtX2NvbnRlbnRfY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgICAgICBjb2xvcjogIzNlM2UzZDtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbSAuYWNfaXRlbV9jb250ZW50X2NvcHktYWJvdmUge1xuICAgICAgICBjb2xvcjogIzNlM2UzZDtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbSAuYWNfaXRlbV9jb250ZW50X2NvcHktYmVsb3cge1xuICAgICAgICBjb2xvcjogIzNlM2UzZDtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbSBbZGF0YS1ib3JkZXItYm90dG9tXSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDEwMCwgMTAwLCA5OSwgMC4yKSAhaW1wb3J0YW50OyB9IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMzYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjM2UzZTNkO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMS42ZW07XG4gICAgaGVpZ2h0OiAxLjZlbTtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDIwcHg7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2ljb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjZlbTtcbiAgICAgIGhlaWdodDogMS42ZW07XG4gICAgICBmaWxsOiByZ2JhKDEwMCwgMTAwLCA5OSwgMC42KTtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlOyB9XG4gIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5IHtcbiAgICBwYWRkaW5nOiAyMHB4IDNlbSAyMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5ICoge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBjb2xvcjogIzNlM2UzZDsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weS1hYm92ZSB7XG4gICAgY29sb3I6IHJnYmEoNjIsIDYyLCA2MSwgMC42KTsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weS1iZWxvdyB7XG4gICAgY29sb3I6IHJnYmEoNjIsIDYyLCA2MSwgMC42KTsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDEuNmVtO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGJvdHRvbTogMjBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1faWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDEuNmVtO1xuICAgICAgaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGZpbGw6IHJnYmEoMTAwLCAxMDAsIDk5LCAwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzIGVhc2U7IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbSB7XG4gICAgaGVpZ2h0OiAzNjBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDM2MHB4OyB9IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjM2UzZTNkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg2MiwgNjIsIDYxLCAwKSwgIzNlM2UzZCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm90dG9tOiAwOyB9XG4gIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbGVmdDogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSBbZGF0YS1pbml0LXNsaWNrXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogaW5oZXJpdDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIFtkYXRhLWluaXQtc2xpY2tdLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIFtkYXRhLWluaXQtc2xpY2tdIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gW2RhdGEtaW5pdC1zbGlja10gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1faW1hZ2Uge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9jb250ZW50X2NvcHkge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5LWFib3ZlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LWZhbWlseTogXCJUaXRpbGxpdW0gV2ViXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTIwJTsgfVxuICBbZGF0YS1zLXR5cGU9XCJuZXdzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weS1iZWxvdyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIFtkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1faWNvbiBzdmcge1xuICAgICAgZmlsbDogcmdiYSgxMDAsIDEwMCwgOTksIDAuNSk7IH0gfVxuXG4vKiBSRUZFUkVOQ0VTIC0gMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSB7XG4gIC8qIElURU0gIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSAuYWNfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDJlbSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW1fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogIzNlM2UzZDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2NvbnRlbnRfaWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF9pY29uIHN2ZyB7XG4gICAgICAgIHN0cm9rZTogIzNlM2UzZDtcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50X2NvcHktYWJvdmUge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2ljb24gc3ZnIHtcbiAgICAgIGZpbGw6IHdoaXRlOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjM2UzZTNkO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSAuYWNfaXRlbV9pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMS42ZW07XG4gICAgaGVpZ2h0OiAxLjZlbTtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDIwcHg7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2ljb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjZlbTtcbiAgICAgIGhlaWdodDogMS42ZW07XG4gICAgICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weSAqIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSAuYWNfaXRlbV9jb250ZW50X2ljb25fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW1fY29udGVudF9pY29uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBzdHJva2U6IHdoaXRlO1xuICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weS1hYm92ZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weS1iZWxvdyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDEuNmVtO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGJvdHRvbTogMjBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW1faWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDEuNmVtO1xuICAgICAgaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlOyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW0ge1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzNlM2UzZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNjIsIDYyLCA2MSwgMCksICMzZTNlM2QpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvdHRvbTogMDsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIC5hY19pdGVtX2NvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzXCJdIFtkYXRhLWluaXQtc2xpY2tdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiBpbmhlcml0O1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gW2RhdGEtaW5pdC1zbGlja10uc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gW2RhdGEtaW5pdC1zbGlja10gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSBbZGF0YS1pbml0LXNsaWNrXSBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXI6IHNvbGlkIDNweCAjZmZmZmZmOyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXNcIl0gLmFjX2l0ZW1faW1hZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJUaXRpbGxpdW0gV2ViXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4vKiBSRUZFUkVOQ0VTLUdSSUQgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0ge1xuICAvKiBJVEVNICBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDJlbSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9pbWFnZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogIzNlM2UzZDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50X2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF9pY29uIHN2ZyB7XG4gICAgICAgIHN0cm9rZTogIzNlM2UzZDtcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF9jb3B5LWFib3ZlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2ljb24gc3ZnIHtcbiAgICAgIGZpbGw6IHdoaXRlOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfaXRlbV9pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfaXRlbV9pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weSAqIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBzdHJva2U6IHdoaXRlO1xuICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250ZW50X2NvcHktYWJvdmUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfY29weS1iZWxvdyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2l0ZW1faWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2l0ZW0ge1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2l0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDI0MHB4OyB9IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNjIsIDYyLCA2MSwgMCksICMzZTNlM2QpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvdHRvbTogMDsgfVxuICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2l0ZW1fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbGVmdDogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIFtkYXRhLWluaXQtc2xpY2tdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiBpbmhlcml0O1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSBbZGF0YS1pbml0LXNsaWNrXS5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIFtkYXRhLWluaXQtc2xpY2tdIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSBbZGF0YS1pbml0LXNsaWNrXSBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2dyaWRfY29udGFpbmVyIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgyKSAuYWNfaXRlbSB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2l0ZW0ge1xuICAgICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MCU7IH0gfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDIpIC5hY19pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDIpIC5hY19pdGVtOm50aC1jaGlsZCgxKSAuYWNfaXRlbV9pbWFnZSwgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2l0ZW06bnRoLWNoaWxkKDQpIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbiB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb2x1bW4gLmFjX2l0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpOyB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMSkgLmFjX2l0ZW0ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2dyaWRfY29sdW1uOm50aC1jaGlsZCgxKSAuYWNfaXRlbTpudGgtY2hpbGQoMSkgLmFjX2l0ZW1faW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgICBbZGF0YS1zLXR5cGU9XCJyZWZlcmVuY2VzLWdyaWRcIl0gLmFjX2dyaWRfY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMSkgLmFjX2l0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OTlweCkge1xuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICBoZWlnaHQ6IDI4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gICAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMikgLmFjX2l0ZW1faW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlRpdGlsbGl1bSBXZWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxMjAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8qIFNFUlZJQ0VTLUdSSUQgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIHtcbiAgLyogSVRFTSAgR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogMmVtIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9pbWFnZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50X2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2NvbnRlbnRfaWNvbiBzdmcge1xuICAgICAgICBzdHJva2U6ICMzZTNlM2Q7XG4gICAgICAgIGZpbGw6IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF90aXRsZSB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1faWNvbiBzdmcge1xuICAgICAgZmlsbDogd2hpdGU7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgd2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtX2ljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250ZW50X2NvcHkge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5ICoge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250ZW50X2ljb24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1fY29udGVudF9pY29uIHN2ZyB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgICBmaWxsOiB0cmFuc3BhcmVudDsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5LWFib3ZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5LWJlbG93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1faWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtIHtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbSB7XG4gICAgICAgIGhlaWdodDogMjQwcHg7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbV9pbWFnZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDYyLCA2MiwgNjEsIDApLCAjM2UzZTNkKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3R0b206IDA7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBsZWZ0OiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfaXRlbV9jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSBbZGF0YS1pbml0LXNsaWNrXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogaW5oZXJpdDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIFtkYXRhLWluaXQtc2xpY2tdLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIFtkYXRhLWluaXQtc2xpY2tdIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gW2RhdGEtaW5pdC1zbGlja10gW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2dyaWRfY29udGFpbmVyIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9vdXRlci1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5OXB4KSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2l0ZW0ge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgyKSAuYWNfaXRlbSB7XG4gICAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9vdXRlci1jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MCU7IH0gfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2dyaWRfb3V0ZXItY29sdW1uOm50aC1jaGlsZCgyKSAuYWNfaXRlbSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2l0ZW06bnRoLWNoaWxkKDEpIC5hY19pdGVtX2ltYWdlLCBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX291dGVyLWNvbHVtbjpudGgtY2hpbGQoMikgLmFjX2l0ZW06bnRoLWNoaWxkKDQpIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb2x1bW4ge1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbiAuYWNfaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pdGVtOm50aC1jaGlsZCgxKSAuYWNfaXRlbV9pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2dyaWRfY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAgICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb2x1bW46bnRoLWNoaWxkKDEpIC5hY19pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzk5cHgpIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2dyaWRfY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGhlaWdodDogMjgwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIC5hY19ncmlkX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXMtZ3JpZFwiXSAuYWNfZ3JpZF9jb2x1bW46bnRoLWNoaWxkKDIpIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzLWdyaWRcIl0gLmFjX2l0ZW1fY29udGVudF90aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiVGl0aWxsaXVtIFdlYlwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLyogU0VSVklDRVMgLSAyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSB7XG4gIC8qIElURU0gIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAyZW0gYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNGVtO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2NvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1faW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogIzNlM2UzZDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIGEuYWNfaXRlbTpob3ZlciAuYWNfaXRlbV9jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF9pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF9pY29uIHN2ZyB7XG4gICAgICAgIHN0cm9rZTogIzNlM2UzZDtcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSBhLmFjX2l0ZW06aG92ZXIgLmFjX2l0ZW1fY29udGVudF90aXRsZSB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gYS5hY19pdGVtOmhvdmVyIC5hY19pdGVtX2ljb24gc3ZnIHtcbiAgICAgIGZpbGw6IHdoaXRlOyB9IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogIzNlM2UzZDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEuNmVtO1xuICAgIGhlaWdodDogMS42ZW07XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiAyMHB4OyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1faWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDEuNmVtO1xuICAgICAgaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4zcyBlYXNlOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSAuYWNfaXRlbV9jb250ZW50X2NvcHkge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5ICoge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSAuYWNfaXRlbV9jb250ZW50X2ljb25fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfaWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1fY29udGVudF9pY29uIHN2ZyB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgICBmaWxsOiB0cmFuc3BhcmVudDsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSAuYWNfaXRlbV9jb250ZW50X2NvcHktYWJvdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1fY29udGVudF9jb3B5LWJlbG93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDEuNmVtO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGJvdHRvbTogMjBweDsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2ljb24gc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjZlbTtcbiAgICAgIGhlaWdodDogMS42ZW07XG4gICAgICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3MgZWFzZTsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSAuYWNfaXRlbSB7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDsgfSB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg2MiwgNjIsIDYxLCAwKSwgIzNlM2UzZCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm90dG9tOiAwOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSAuYWNfaXRlbV9jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gW2RhdGEtaW5pdC1zbGlja10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IGluaGVyaXQ7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gICAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gW2RhdGEtaW5pdC1zbGlja10uc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIFtkYXRhLWluaXQtc2xpY2tdIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIFtkYXRhLWluaXQtc2xpY2tdIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgW2RhdGEtcy10eXBlPVwic2VydmljZXNcIl0gLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXI6IHNvbGlkIDNweCAjZmZmZmZmOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2ltYWdlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXMtdHlwZT1cInNlcnZpY2VzXCJdIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlRpdGlsbGl1bSBXZWJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNTAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi8qIEFDX1NfVE9QVEFTS1MgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBBQ19TX1RPUFRBU0tTIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy10eXBlPVwidG9wdGFza3NcIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFjX3RvcHRhc2tzX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDJlbSBhdXRvO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hY190b3B0YXNrc19jb250YWluZXJfaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4uYWNfdG9wdGFza3NfaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5hY190b3B0YXNrc19pdGVtOmhvdmVyIC5hY190b3B0YXNrc19pdGVtX2NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZkOyB9XG4gICAgLmFjX3RvcHRhc2tzX2l0ZW06aG92ZXIgLmFjX3RvcHRhc2tzX2l0ZW1faW1hZ2Uge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLmFjX3RvcHRhc2tzX2l0ZW06aG92ZXIgLmFjX3RvcHRhc2tzX2l0ZW1faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0OyB9XG4gICAgICAuYWNfdG9wdGFza3NfaXRlbTpob3ZlciAuYWNfdG9wdGFza3NfaXRlbV9pY29uIHN2ZyB7XG4gICAgICAgIHN0cm9rZTogIzY0NjQ2MztcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYWNfdG9wdGFza3NfaXRlbTpob3ZlciAuYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDYyLCA2MiwgNjEsIDAuOSk7IH1cbiAgICAuYWNfdG9wdGFza3NfaXRlbTpob3ZlciAuYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X2Rlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiByZ2JhKDYyLCA2MiwgNjEsIDAuOSk7IH1cbiAgICAuYWNfdG9wdGFza3NfaXRlbTpob3ZlciAuYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X2J0bi1jb250YWluZXIge1xuICAgICAgY29sb3I6IHJnYmEoNjIsIDYyLCA2MSwgMC45KTsgfSB9XG5cbi5hY190b3B0YXNrc19pdGVtX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uYWNfdG9wdGFza3NfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJhY2tncm91bmQ6ICMzZTNlM2Q7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDsgfVxuXG4uYWNfdG9wdGFza3NfaXRlbV9pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjE7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgYm94LXNoYWRvdzogNXB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uYWNfdG9wdGFza3NfaXRlbV9jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBmbGV4OiAxOyB9XG5cbi5hY190b3B0YXNrc19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICBmb250LWZhbWlseTogXCJUaXRpbGxpdW0gV2ViXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTIwJTtcbiAgbWFyZ2luLWJvdHRvbTogLjRlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMzZTNlM2Q7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cblxuLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudF9kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzNlM2UzZDsgfVxuXG4uYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X2J0bi1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjM2UzZTNkOyB9XG5cbi5hY190b3B0YXNrc19pdGVtX2ljb24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5hY190b3B0YXNrc19pdGVtX2ljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIC5hY190b3B0YXNrc19pdGVtX2ljb24gc3ZnIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBzdHJva2U6ICM2NDY0NjM7XG4gICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWNfdG9wdGFza3NfaXRlbV9jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWNfdG9wdGFza3NfaXRlbV9pY29uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBTRUNUSU9OIENPTlRST0xcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbltkYXRhLXMtaWQ9XCJob21lLXRvcHRhc2tzXCJdIHtcbiAgbWFyZ2luLXRvcDogLTYwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIFtkYXRhLXMtaWQ9XCJob21lLXRvcHRhc2tzXCJdIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMTBweDsgfSB9XG5cbltkYXRhLXMtaWQ9XCJob21lLXNlcnZpY2VzXCJdIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuXG4vKiBTVEFURSBISURERU5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNfaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFRFWFQgQUxJR05cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfdGV4dC1hbGlnbl9sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5hX3RleHQtYWxpZ25fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLmFfdGV4dC1hbGlnbl9yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLyogRkxFWEJPWCBIRUxQRVJTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2p1c3RpZnlfZmxleC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG5cbi5hX2p1c3RpZnlfY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uYV9qdXN0aWZ5X2ZsZXgtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG5cbi5hX2p1c3RpZnlfc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4uYV9qdXN0aWZ5X3NwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuXG4uYV9hbGlnbi1pdGVtc19jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLmFfYWxpZ24taXRlbXNfZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cblxuLmFfYWxpZ24taXRlbXNfZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuXG4uYV9mbGV4LWRpcmVjdGlvbl9yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cblxuLmFfZmxleC1kaXJlY3Rpb25fcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4vKiBNQVggV0lEVEhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfbWF4LXdpZHRoLWZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uYV9tYXgtd2lkdGgtNjAwIHtcbiAgbWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYV9tYXgtd2lkdGgtODAwIHtcbiAgbWF4LXdpZHRoOiA4MDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYV9tYXgtd2lkdGgtMTAwMCB7XG4gIG1heC13aWR0aDogMTAwMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5hX21heC13aWR0aC0xMjAwIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmFfbWF4LXdpZHRoLTE0MDAge1xuICBtYXgtd2lkdGg6IDE0MDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYV9tYXgtd2lkdGgtMTYwMCB7XG4gIG1heC13aWR0aDogMTYwMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5hX21heC13aWR0aC0xODAwIHtcbiAgbWF4LXdpZHRoOiAxODAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmFfbWF4LXdpZHRoLTIwMDAge1xuICBtYXgtd2lkdGg6IDIwMDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBCQUNLR1JPVU5EIEFUVEFDSE1FTlQgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmFfYmFja2dyb3VuZC1hdHRhY2htZW50X2ZpeGVkIHtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9IH1cblxuLyogQkFDS0dST1VORCBDT05UQUlOXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2NvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW4gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG4vKiBCQUNLR1JPVU5EIENPVkVSXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2NvdmVyLWN0IHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCUgIWltcG9ydGFudDsgfVxuXG4uYV9jb3Zlci1jYyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSAhaW1wb3J0YW50OyB9XG5cbi5hX2NvdmVyLWNiIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5hX2NvdmVyLWx0IHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJSAhaW1wb3J0YW50OyB9XG5cbi5hX2NvdmVyLWxjIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCUgIWltcG9ydGFudDsgfVxuXG4uYV9jb3Zlci1sYiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5hX2NvdmVyLXJ0IHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlICFpbXBvcnRhbnQ7IH1cblxuLmFfY292ZXItcmMge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlICFpbXBvcnRhbnQ7IH1cblxuLmFfY292ZXItcmIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hX21lZGl1bS1wb3J0cmFpdF9jb3Zlci1jdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYV9tZWRpdW0tcG9ydHJhaXRfY292ZXItY2Mge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hX21lZGl1bS1wb3J0cmFpdF9jb3Zlci1jYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hX21lZGl1bS1wb3J0cmFpdF9jb3Zlci1sdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hX21lZGl1bS1wb3J0cmFpdF9jb3Zlci1sYyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYV9tZWRpdW0tcG9ydHJhaXRfY292ZXItbGIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hX21lZGl1bS1wb3J0cmFpdF9jb3Zlci1ydCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFfbWVkaXVtLXBvcnRyYWl0X2NvdmVyLXJjIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFfbWVkaXVtLXBvcnRyYWl0X2NvdmVyLXJiIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21lZGl1bV9jb3Zlci1jdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tZWRpdW1fY292ZXItY2Mge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21lZGl1bV9jb3Zlci1jYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21lZGl1bV9jb3Zlci1sdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21lZGl1bV9jb3Zlci1sYyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tZWRpdW1fY292ZXItbGIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21lZGl1bV9jb3Zlci1ydCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmFfbWVkaXVtX2NvdmVyLXJjIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmFfbWVkaXVtX2NvdmVyLXJiIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi8qIE9QQUNJVFlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfb3BhY2l0eS0wIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG5cbi5hX29wYWNpdHktNSB7XG4gIG9wYWNpdHk6IDAuMDUgIWltcG9ydGFudDsgfVxuXG4uYV9vcGFjaXR5LTEwIHtcbiAgb3BhY2l0eTogMC4xICFpbXBvcnRhbnQ7IH1cblxuLmFfb3BhY2l0eS0yMCB7XG4gIG9wYWNpdHk6IDAuMiAhaW1wb3J0YW50OyB9XG5cbi5hX29wYWNpdHktMzAge1xuICBvcGFjaXR5OiAwLjMgIWltcG9ydGFudDsgfVxuXG4uYV9vcGFjaXR5LTQwIHtcbiAgb3BhY2l0eTogMC40ICFpbXBvcnRhbnQ7IH1cblxuLmFfb3BhY2l0eS01MCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50OyB9XG5cbi5hX29wYWNpdHktNjAge1xuICBvcGFjaXR5OiAwLjYgIWltcG9ydGFudDsgfVxuXG4uYV9vcGFjaXR5LTcwIHtcbiAgb3BhY2l0eTogMC43ICFpbXBvcnRhbnQ7IH1cblxuLmFfb3BhY2l0eS04MCB7XG4gIG9wYWNpdHk6IDAuOCAhaW1wb3J0YW50OyB9XG5cbi5hX29wYWNpdHktOTAge1xuICBvcGFjaXR5OiAwLjkgIWltcG9ydGFudDsgfVxuXG4uYV9vcGFjaXR5LTEwMCB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4vKiBHUkFZU0NBTEVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfZ3JheXNjYWxlLTIwIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMjAlKSAhaW1wb3J0YW50OyB9XG5cbi5hX2dyYXlzY2FsZS00MCB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDQwJSkgIWltcG9ydGFudDsgfVxuXG4uYV9ncmF5c2NhbGUtNjAge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSg2MCUpICFpbXBvcnRhbnQ7IH1cblxuLmFfZ3JheXNjYWxlLTgwIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoODAlKSAhaW1wb3J0YW50OyB9XG5cbi5hX2dyYXlzY2FsZS0xMDAge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSAhaW1wb3J0YW50OyB9XG5cbi8qIEJMRU5EIE1PREVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2JsZW5kLW11bHRpcGx5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5ICFpbXBvcnRhbnQ7IH1cblxuLmFfYmxlbmQtc2NyZWVuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbiAhaW1wb3J0YW50OyB9XG5cbi5hX2JsZW5kLW92ZXJsYXkge1xuICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheSAhaW1wb3J0YW50OyB9XG5cbi5hX2JsZW5kLWV4Y2x1c2lvbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb24gIWltcG9ydGFudDsgfVxuXG4uYV9ibGVuZC1kaWZmZXJlbmNlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2UgIWltcG9ydGFudDsgfVxuXG4vKiBTSEFET1dTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2Nhc3Qtc2hhZG93X3RvcCB7XG4gIGJveC1zaGFkb3c6IDBweCAtMTBweCAxMHB4IHJnYmEoMzQsIDM0LCAzNCwgMC4xKSAhaW1wb3J0YW50OyB9XG5cbi8qIE1BUkdJTiBIRUxQRVJTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX25vLW1hcmdpbiB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5hX25vLW1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLmFfbm8tbWFyZ2luLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmFfbm8tbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uYV9uby1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLWJvdHRvbS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLXRvcC0xMCB7XG4gIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50OyB9XG5cbi5hX21hcmdpbi1ib3R0b20tMTAge1xuICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuXG4uYV9tYXJnaW4tdG9wLTIwIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi5hX21hcmdpbi1ib3R0b20tMjAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLXRvcC00MCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4uYV9tYXJnaW4tYm90dG9tLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9XG5cbi5hX21hcmdpbi10b3AtNjAge1xuICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLWJvdHRvbS02MCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfVxuXG4uYV9tYXJnaW4tdG9wLTgwIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi5hX21hcmdpbi1ib3R0b20tODAge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLXRvcC0xMDAge1xuICBtYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfbWFyZ2luLWJvdHRvbS0xMDAge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmFfbWFyZ2luLXRvcC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21hcmdpbi1ib3R0b20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tdG9wLTEwIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tYm90dG9tLTEwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tdG9wLTIwIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tYm90dG9tLTIwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tdG9wLTQwIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tYm90dG9tLTQwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tdG9wLTYwIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tYm90dG9tLTYwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tdG9wLTgwIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tYm90dG9tLTgwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9tYXJnaW4tdG9wLTEwMCB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX21hcmdpbi1ib3R0b20tMTAwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogUEFERElORyBIRUxQRVJTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX25vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmFfbm8tcGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5hX25vLXBhZGRpbmctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmFfbm8tcGFkZGluZy1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5hX25vLXBhZGRpbmctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5hX3BhZGRpbmctdG9wLTAge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFfcGFkZGluZy1ib3R0b20tMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLXRvcC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLWJvdHRvbS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uYV9wYWRkaW5nLXRvcC0xMCB7XG4gIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDsgfVxuXG4uYV9wYWRkaW5nLWJvdHRvbS0xMCB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLXRvcC0xMCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctYm90dG9tLTEwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtMjAge1xuICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi5hX3BhZGRpbmctYm90dG9tLTIwIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLXRvcC0yMCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctYm90dG9tLTIwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtNDAge1xuICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi5hX3BhZGRpbmctYm90dG9tLTQwIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLXRvcC00MCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctYm90dG9tLTQwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtNjAge1xuICBwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50OyB9XG5cbi5hX3BhZGRpbmctYm90dG9tLTYwIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLXRvcC02MCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctYm90dG9tLTYwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtODAge1xuICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi5hX3BhZGRpbmctYm90dG9tLTgwIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLXRvcC04MCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctYm90dG9tLTgwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtMTAwIHtcbiAgcGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudDsgfVxuXG4uYV9wYWRkaW5nLWJvdHRvbS0xMDAge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctdG9wLTEwMCB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLWJvdHRvbS0xMDAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtMTIwIHtcbiAgcGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudDsgfVxuXG4uYV9wYWRkaW5nLWJvdHRvbS0xMjAge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctdG9wLTEyMCB7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLWJvdHRvbS0xMjAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFfcGFkZGluZy10b3AtMTQwIHtcbiAgcGFkZGluZy10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuXG4uYV9wYWRkaW5nLWJvdHRvbS0xNDAge1xuICBwYWRkaW5nLWJvdHRvbTogNzBweCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5hX3BhZGRpbmctdG9wLTE0MCB7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuYV9wYWRkaW5nLWJvdHRvbS0xNDAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogQkFDS0dST1VORCBDT0xPUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYV9iZ19icmFuZF9wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhNDdhMSAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2JyYW5kX3ByaW1hcnktZGFya2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMmM2NCAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2JyYW5kX3NlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMTIyMTUgIWltcG9ydGFudDsgfVxuXG4uYV9iZ19icmFuZF9zZWNvbmRhcnktZGFya2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FmMTQwYSAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2JyYW5kX3RlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0NjQ2MyAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2JyYW5kX3RlcnRpYXJ5LWRhcmtlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTNlM2QgIWltcG9ydGFudDsgfVxuXG4uYV9iZ19icmFuZF9ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWIgIWltcG9ydGFudDsgfVxuXG4uYV9iZ19icmFuZF93aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4uYV9iZ19icmFuZF9saWdodC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlMyAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2JyYW5kX2xpZ2h0ZXN0LWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZkICFpbXBvcnRhbnQ7IH1cblxuLmFfYmdfZGVmYXVsdF9saWdodCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4uYV9iZ19kZWZhdWx0X2Rhcmsge1xuICBiYWNrZ3JvdW5kOiAjM2UzZTNkICFpbXBvcnRhbnQ7IH1cblxuLyogQkFDS0dST1VORCBHUkFESUVOVFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfYmdfZ3JhZGllbnRfYnJhbmRfcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjMWEyYzY0LCAjMmE0N2ExKSAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2dyYWRpZW50X2JyYW5kX3NlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjYWYxNDBhLCAjZjEyMjE1KSAhaW1wb3J0YW50OyB9XG5cbi5hX2JnX2dyYWRpZW50X2JyYW5kX3RlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xMzVkZWcsICMzZTNlM2QsICM2NDY0NjMpICFpbXBvcnRhbnQ7IH1cblxuLyogRklMTCBDT0xPUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYV9maWxsX2JyYW5kX3ByaW1hcnkgc3ZnIHtcbiAgZmlsbDogIzJhNDdhMSAhaW1wb3J0YW50OyB9XG5cbi5hX2ZpbGxfYnJhbmRfcHJpbWFyeS1kYXJrZXIgc3ZnIHtcbiAgZmlsbDogIzFhMmM2NCAhaW1wb3J0YW50OyB9XG5cbi5hX2ZpbGxfYnJhbmRfc2Vjb25kYXJ5IHN2ZyB7XG4gIGZpbGw6ICNmMTIyMTUgIWltcG9ydGFudDsgfVxuXG4uYV9maWxsX2JyYW5kX3NlY29uZGFyeS1kYXJrZXIgc3ZnIHtcbiAgZmlsbDogI2FmMTQwYSAhaW1wb3J0YW50OyB9XG5cbi5hX2ZpbGxfYnJhbmRfdGVydGlhcnkgc3ZnIHtcbiAgZmlsbDogIzY0NjQ2MyAhaW1wb3J0YW50OyB9XG5cbi5hX2ZpbGxfYnJhbmRfdGVydGlhcnktZGFya2VyIHN2ZyB7XG4gIGZpbGw6ICMzZTNlM2QgIWltcG9ydGFudDsgfVxuXG4uYV9maWxsX2JyYW5kX2JsYWNrIHN2ZyB7XG4gIGZpbGw6ICMxZDFkMWIgIWltcG9ydGFudDsgfVxuXG4uYV9maWxsX2JyYW5kX3doaXRlIHN2ZyB7XG4gIGZpbGw6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4uYV9maWxsX2JyYW5kX2xpZ2h0LWdyYXkgc3ZnIHtcbiAgZmlsbDogI2U0ZTRlMyAhaW1wb3J0YW50OyB9XG5cbi5hX2ZpbGxfYnJhbmRfbGlnaHRlc3QtZ3JheSBzdmcge1xuICBmaWxsOiAjZmFmYWZkICFpbXBvcnRhbnQ7IH1cblxuLmFfZmlsbF9kZWZhdWx0IHN2ZyB7XG4gIGZpbGw6ICM2NDY0NjMgIWltcG9ydGFudDsgfVxuXG4uYV9maWxsX2RlZmF1bHRfbGlnaHQgc3ZnIHtcbiAgZmlsbDogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG5cbi5hX2ZpbGxfZGVmYXVsdF9kYXJrIHN2ZyB7XG4gIGZpbGw6ICMzZTNlM2QgIWltcG9ydGFudDsgfVxuXG4vKiBCT1JERVJTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2JvcmRlci10b3BfYnJhbmRfbGlnaHQtZ3JheSB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZTRlNGUzICFpbXBvcnRhbnQ7IH1cblxuLmFfYm9yZGVyLWJvdHRvbV9icmFuZF9saWdodC1ncmF5IHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlNGU0ZTMgIWltcG9ydGFudDsgfVxuXG4vKiBURVhUIENPTE9SXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX3RleHRfYnJhbmRfcHJpbWFyeSAqIHtcbiAgY29sb3I6ICMyYTQ3YTEgIWltcG9ydGFudDsgfVxuXG4uYV90ZXh0X2JyYW5kX3ByaW1hcnktZGFya2VyICoge1xuICBjb2xvcjogIzFhMmM2NCAhaW1wb3J0YW50OyB9XG5cbi5hX3RleHRfYnJhbmRfc2Vjb25kYXJ5ICoge1xuICBjb2xvcjogI2YxMjIxNSAhaW1wb3J0YW50OyB9XG5cbi5hX3RleHRfYnJhbmRfc2Vjb25kYXJ5LWRhcmtlciAqIHtcbiAgY29sb3I6ICNhZjE0MGEgIWltcG9ydGFudDsgfVxuXG4uYV90ZXh0X2JyYW5kX3RlcnRpYXJ5ICoge1xuICBjb2xvcjogIzY0NjQ2MyAhaW1wb3J0YW50OyB9XG5cbi5hX3RleHRfYnJhbmRfdGVydGlhcnktZGFya2VyICoge1xuICBjb2xvcjogIzNlM2UzZCAhaW1wb3J0YW50OyB9XG5cbi5hX3RleHRfYnJhbmRfYmxhY2sgKiB7XG4gIGNvbG9yOiAjMWQxZDFiICFpbXBvcnRhbnQ7IH1cblxuLmFfdGV4dF9icmFuZF93aGl0ZSAqIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4uYV90ZXh0X2JyYW5kX2xpZ2h0LWdyYXkgKiB7XG4gIGNvbG9yOiAjZTRlNGUzICFpbXBvcnRhbnQ7IH1cblxuLmFfdGV4dF9icmFuZF9saWdodGVzdC1ncmF5ICoge1xuICBjb2xvcjogI2ZhZmFmZCAhaW1wb3J0YW50OyB9XG5cbi5hX3RleHRfZGVmYXVsdCAqIHtcbiAgY29sb3I6ICMzZTNlM2QgIWltcG9ydGFudDsgfVxuXG4uYV90ZXh0X2RlZmF1bHRfbGlnaHQgKiB7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLmFfdGV4dF9kZWZhdWx0X2RhcmsgKiB7XG4gIGNvbG9yOiAjM2UzZTNkICFpbXBvcnRhbnQ7IH1cblxuLyogRklYRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmlucHV0W3R5cGU9XCJyYWRpb1wiIGldIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8ge1xuICBtYXJnaW4tdG9wOiAtMjZweCAhaW1wb3J0YW50OyB9XG5cbltkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA3NXZoICFpbXBvcnRhbnQ7IH1cblxuLmFjX2hlcm9fc2xpZGVfY29udGVudF90ZXh0X2Rlc2NpcHRpb24gcCB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtc2hhZG93OiAycHggMnB4ICM0NDQ0NDQ7IH1cblxuLmFjX2hlcm9fc2xpZGVfY29udGVudF90ZXh0IGEge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG5cbiNvcHplZ2dpbmctc2VjdGllLXRpdGVsLTMtMyAuYWNfY29udGVudF9jb250YWluZXIgLmFjX2NvbnRlbnRfZmxleCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjMWEyYzY0LCAjMmE0N2ExKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgIzhmMjAxZiwgI2RlMjIxZSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQteDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdC15OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50OyB9XG5cbi5hY19tZW51LTJfYmFyX2JvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICMyNjNmOGQyYjsgfVxuXG4uYWNfbWVudS0yX2xvZ29fY29udGFpbmVyIC5hY19tZW51LTJfbG9nb19pbWcge1xuICBtYXJnaW4tdG9wOiAtNTVweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDE1MCUgIWltcG9ydGFudDsgfVxuXG4uYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgd2lkdGg6IDIyMHB4OyB9XG5cbi5hY19tZW51LTJfbW9iaWxlX2xvZ29faW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjX21lbnUtMl9zdGlja3kuaXMtc3R1Y2sgLmFjX21lbnUtMl9sb2dvX2ltZyB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7IH1cblxuLmFjX21lbnUtMl9iYXJfdG9wIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAuYWNfbWVudS0yX2Jhcl90b3AgYSB7XG4gICAgY29sb3I6ICM2NDY0NjMgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19jb250YWluZXIge1xuICAgIGhlaWdodDogNjB2aCAhaW1wb3J0YW50OyB9IH1cblxuLmJ1dHRvbi52X2hhcy1pY29uLWxlZnQgLnN2Zy1jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmJ1dHRvbi52X2hhcy1pY29uLXJpZ2h0IC5zdmctY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIGEge1xuICBmb250LXNpemU6IDExcHQgIWltcG9ydGFudDsgfVxuXG5bZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gYS5idXR0b24ge1xuICBmb250LXNpemU6IDE2cHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBwYWRkaW5nOiAwLjRlbTsgfVxuXG5bZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gYTpob3ZlciB7XG4gIGNvbG9yOiAjMmE0N2ExOyB9XG5cbltkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF9pbm5lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWNfbWVudS0yX2N0YV9saW5rIHtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIGEge1xuICBjb2xvcjogIzFkMWQxYjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxM3B4OyB9XG5cbltkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9jb250YWluZXIge1xuICBoZWlnaHQ6IDIwMHB4OyB9XG5cbiNicmVhZGNydW1icyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjX21lbnUtMl9idG4tc2VhcmNoIHN2ZyB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbi10b3A6IC0xM3B4OyB9XG5cbi5hY19tZW51LTJfYmFyX3RvcF9jb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0OyB9XG4gIC5hY19tZW51LTJfYmFyX3RvcF9jb250YWluZXIgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uYWNfbWVudS0yX2Jhcl9ib3R0b21fY29udGFpbmVyIHtcbiAganVzdGlmeS1jb250ZW50OiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5hY19tZW51LTJfYmFyX2JvdHRvbV9jb250YWluZXIgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uYWNfbWVudS0yX2Jhcl90b3Age1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5hY19oZXJvX3NsaWRlIHtcbiAgaGVpZ2h0OiA2MHZoOyB9XG5cbi5hY19oZXJvX2FsdF9zbGlkZSB7XG4gIGhlaWdodDogMTI1cHg7IH1cblxuW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIGJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9XG5cbi5idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG5bZGF0YS1zLWFtb3VudD1cIjJcIl0gLnNsaWNrLXNsaWRlIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gLmFjX2hlcm9fYWx0X2NvbnRhaW5lciB7XG4gIGhlaWdodDogMTI1cHg7XG4gIG1pbi1oZWlnaHQ6IDEyNXB4OyB9XG5cbltkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIGgxLCBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSBoMiwgW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gaDMge1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG5bZGF0YS1zLXR5cGU9XCJoZXJvXCJdIHtcbiAgaGVpZ2h0OiA2MHZoOyB9XG5cbi5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dCBoMiB7XG4gICAgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1zaGFkb3c6IDJweCAycHggIzVhNWE1YTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9pbWFnZV9jb250YWluZXIge1xuICBoZWlnaHQ6IDUwMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAuYWNfbWVudS0yX3N0aWNreS5pcy1zdHVjayAuYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgICB3aWR0aDogMjAwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5hY19tZW51LTJfbG9nb19pbWcge1xuICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWNfbWVudS0yX2xvZ29fY29udGFpbmVyICsgLmFjX21lbnUtMl9tYWluX2NvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gIC5hY19tZW51LTJfc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYWNfbWVudS0yX21vYmlsZV9sb2dvX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogNDVweDtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDsgfVxuICAuYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hY19tZW51LTJfc3RpY2t5LmlzLXN0dWNrIC5hY19tZW51LTJfbG9nb19pbWcge1xuICAgIHdpZHRoOiAxNTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmFjX21lbnUtMl9tYWluX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDUwdmggIWltcG9ydGFudDsgfVxuICAjbWVudS1tb2JpbGUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI21lbnUtbW9iaWxlIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMCA1cHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAgICNtZW51LW1vYmlsZSBsaSBhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI21lbnUtbW9iaWxlIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAjbWVudS1tb2JpbGUgLnN1Yi1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgI21lbnUtbW9iaWxlIC5zdWItbWVudSBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuXG5oMiwgaDMsIGg0IHtcbiAgY29sb3I6ICMyYTQ3YTE7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5ob21lIGgyIHtcbiAgY29sb3I6ICM2NDY0NjM7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjMmE0N2ExOyB9XG5cbi5tYWluLWNvbnRhaW5lciBbZGF0YS1zLXR5cGU9XCJzZWN0aW9uLWNvbnRlbnRcIl0gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzJhNDdhMTsgfVxuICAubWFpbi1jb250YWluZXIgW2RhdGEtcy10eXBlPVwic2VjdGlvbi1jb250ZW50XCJdIGEuYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMxYTJjNjQ7IH1cblxuYm9keSB7XG4gIGNvbG9yOiAjMWQxZDFiOyB9XG5cbltkYXRhLXMtdHlwZT1cIm5ld3NcIl0gLmFjX2l0ZW1fY29udGVudF90aXRsZSB7XG4gIGNvbG9yOiAjMWQxZDFiOyB9XG5cbi5hY19icmFuZHNfaXRlbV9jb250YWluZXIge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uYWNfYnJhbmRzX2l0ZW0ge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bZGF0YS1zLWlkPVwiaG9tZS1zZXJ2aWNlc1wiXSB7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7IH1cbiAgW2RhdGEtcy1pZD1cImhvbWUtc2VydmljZXNcIl0gaDIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4OyB9XG4gIFtkYXRhLXMtaWQ9XCJob21lLXNlcnZpY2VzXCJdIC5hY19jb250YWluZXIge1xuICAgIG1hcmdpbjogMHB4OyB9XG5cbltkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIGgyIHtcbiAgZm9udC1zaXplOiAxNjAlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG9wYWNpdHk6IC41OyB9XG5cbltkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxZDFkMWI7IH1cblxuW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDIwcHggMTBweCA1cHggMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3ByaW1hcnlfY29sdW1uOm50aC1jaGlsZCg0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4OyB9IH1cblxuW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzNlM2UzZDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlNGU0ZTM7IH1cbiAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5IC5hY19mb290ZXJfcHJpbWFyeV9jb2x1bW4ge1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICBbZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3ByaW1hcnkgLmFsaWdubm9uZSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAtMTAwcHggMCAwIDA7IH1cblxuLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFjX2N0YV9jb2x1bW4gcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uYWNfY3RhX2NvbHVtbiBoMiB7XG4gIGNvbG9yOiAjNjQ2NDYzOyB9XG5cbi5hY19jdGFfY29sdW1uIC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDsgfVxuXG5bZGF0YS1zLXR5cGU9XCJjdGFcIl0ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtcy10eXBlPVwiaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlblwiXSAuc2xpY2stbmV4dCBzdmcsXG5bZGF0YS1zLXR5cGU9XCJpbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuXCJdIC5zbGljay1wcmV2IHN2ZyB7XG4gIGZpbGw6ICMyYTQ3YTE7IH1cblxubGk6Om1hcmtlciB7XG4gIGNvbG9yOiAjMmE0N2ExOyB9XG5cbi5hY19jb250ZW50XzEtMSB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4uYWNfYnJhbmRzX2l0ZW1fbG9nbyB7XG4gIC13ZWJraXQtZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hY190b3B0YXNrc19pdGVtOmhvdmVyIC5hY190b3B0YXNrc19pdGVtX2ljb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG5cbi5hY190b3B0YXNrc19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmFjX3RvcHRhc2tzX2l0ZW1faWNvbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmFjX3RvcHRhc2tzX2l0ZW1faWNvbiBzdmcge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBzdHJva2U6ICM2NDY0NjM7XG4gIGZpbGw6IHRyYW5zcGFyZW50OyB9XG5cbi5hY190b3B0YXNrc19pdGVtX2ljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cblxuLypcbi5hY190b3B0YXNrc19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogI0UzRTNFMztcbn1cblxuLmFjX3RvcHRhc2tzX2l0ZW1fY29udGFpbmVyIHtcbiAgIGJhY2tncm91bmQ6ICNFM0UzRTM7XG59XG5cbi5hY190b3B0YXNrc19pdGVtX2ljb24gc3ZnIHtcbiAgICBjb2xvcjogJGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICBzdHJva2U6ICRicmFuZC1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgZmlsbDojZmZmO1xufVxuXG4uYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xufVxuKi9cbiIsIi8qIEZPTlRTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw1MDAsNzAwfFRpdGlsbGl1bStXZWI6MjAwLDMwMCw0MDAsNTAwLDYwMCk7XG5cbiRkZWZhdWx0LWZvbnQtZmFtaWx5LWhlYWRpbmdzOiAnVGl0aWxsaXVtIFdlYicsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRkZWZhdWx0LWZvbnQtd2VpZ2h0LWhlYWRpbmdzOiA0MDA7XG5cbiRkZWZhdWx0LWZvbnQtZmFtaWx5LWJvZHk6ICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZGVmYXVsdC1mb250LWZhbWlseS1ib2R5LXdlaWdodDogNDAwO1xuJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keS13ZWlnaHQtYm9sZDogNzAwO1xuXG5AbWl4aW4gZm9udC1oZWFkaW5ncy1saWdodCgpIHtcbiAgICBmb250LWZhbWlseTogJGRlZmF1bHQtZm9udC1mYW1pbHktaGVhZGluZ3M7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AbWl4aW4gZm9udC1oZWFkaW5ncy1yZWd1bGFyKCkge1xuICAgIGZvbnQtZmFtaWx5OiRkZWZhdWx0LWZvbnQtZmFtaWx5LWhlYWRpbmdzO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1mb250LXdlaWdodC1oZWFkaW5ncztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AbWl4aW4gZm9udC1oZWFkaW5ncy1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZGVmYXVsdC1mb250LWZhbWlseS1oZWFkaW5ncztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQG1peGluIGZvbnQtYm9keS1saWdodCgpIHtcbiAgICBmb250LWZhbWlseTogJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBtaXhpbiBmb250LWJvZHktcmVndWxhcigpIHtcbiAgICBmb250LWZhbWlseTogJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keTtcbiAgICBmb250LXdlaWdodDogJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keS13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQG1peGluIGZvbnQtYm9keS1ib2xkKCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZGVmYXVsdC1mb250LWZhbWlseS1ib2R5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1mb250LWZhbWlseS1ib2R5LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4iLCIvKiBWQVJJQUJMRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLypcbiAgICBCUkFORCBDT0xPUlNcbiovXG5cbiRicmFuZC1wcmltYXJ5OiAjMmE0N2ExOyBcbiRicmFuZC1wcmltYXJ5LWRhcmtlcjogZGFya2VuKCRicmFuZC1wcmltYXJ5LCAxNSUpOyBcblxuJGJyYW5kLXNlY29uZGFyeTogI2YxMjIxNTsgXG4kYnJhbmQtc2Vjb25kYXJ5LWRhcmtlcjogZGFya2VuKCRicmFuZC1zZWNvbmRhcnksIDE1JSk7IFxuXG4kYnJhbmQtdGVydGlhcnk6ICM2NDY0NjM7XG4kYnJhbmQtdGVydGlhcnktZGFya2VyOiBkYXJrZW4oJGJyYW5kLXRlcnRpYXJ5LCAxNSUpOyBcblxuJGJyYW5kLXdoaXRlOiAjZmZmZmZmO1xuJGJyYW5kLWJsYWNrOiAjMWQxZDFiOyBcbiRicmFuZC1kYXJrZXN0LWdyYXk6ICM0NDQ0NDQ7XG4kYnJhbmQtZGFyay1ncmF5OiAjNjQ2NDYzO1xuJGJyYW5kLWdyYXk6ICNkYWRhZGE7XG4kYnJhbmQtbGlnaHQtZ3JheTogI2U0ZTRlMztcbiRicmFuZC1saWdodGVzdC1ncmF5OiAjZmFmYWZkO1xuXG4vLyBmb3IgYWRqdXN0bWVudCBjbGFzc2VzIGdlbmVyYXRpb25cbiRicmFuZC1jb2xvci1saXN0OiAgKFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHByaW1hcnktZGFya2VyOiAkYnJhbmQtcHJpbWFyeS1kYXJrZXIsXG4gICAgc2Vjb25kYXJ5OiAkYnJhbmQtc2Vjb25kYXJ5LFxuICAgIHNlY29uZGFyeS1kYXJrZXI6ICRicmFuZC1zZWNvbmRhcnktZGFya2VyLCBcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LCBcbiAgICB0ZXJ0aWFyeS1kYXJrZXI6ICRicmFuZC10ZXJ0aWFyeS1kYXJrZXIsXG4gICAgYmxhY2s6ICRicmFuZC1ibGFjaywgXG4gICAgd2hpdGU6ICRicmFuZC13aGl0ZSwgXG4gICAgbGlnaHQtZ3JheTogJGJyYW5kLWxpZ2h0LWdyYXksXG4gICAgbGlnaHRlc3QtZ3JheTogJGJyYW5kLWxpZ2h0ZXN0LWdyYXlcbik7XG5cblxuJGJyYW5kLWJhY2tncm91bmQtcHJpbWFyeTogbGluZWFyLWdyYWRpZW50KC0xMzVkZWcsICRicmFuZC1wcmltYXJ5LWRhcmtlciwgJGJyYW5kLXByaW1hcnkpO1xuJGJyYW5kLWJhY2tncm91bmQtc2Vjb25kYXJ5OiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgJGJyYW5kLXNlY29uZGFyeS1kYXJrZXIsICRicmFuZC1zZWNvbmRhcnkpO1xuJGJyYW5kLWJhY2tncm91bmQtdGVydGlhcnk6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAkYnJhbmQtdGVydGlhcnktZGFya2VyLCAkYnJhbmQtdGVydGlhcnkpO1xuXG4kYnJhbmQtYmFja2dyb3VuZC1wcmltYXJ5LXJldmVyc2VkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkYnJhbmQtcHJpbWFyeS1kYXJrZXIsICRicmFuZC1wcmltYXJ5KTtcbiRicmFuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeS1yZXZlcnNlZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJGJyYW5kLXNlY29uZGFyeS1kYXJrZXIsICRicmFuZC1zZWNvbmRhcnkpO1xuJGJyYW5kLWJhY2tncm91bmQtdGVydGlhcnktcmV2ZXJzZWQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRicmFuZC10ZXJ0aWFyeS1kYXJrZXIsICRicmFuZC10ZXJ0aWFyeSk7XG5cbi8vIGZvciBhZGp1c3RtZW50IGNsYXNzZXMgZ2VuZXJhdGlvblxuJGJyYW5kLWdyYWRpZW50LWxpc3Q6ICAoXG4gICAgcHJpbWFyeTogJGJyYW5kLWJhY2tncm91bmQtcHJpbWFyeSxcbiAgICBzZWNvbmRhcnk6ICRicmFuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLWJhY2tncm91bmQtdGVydGlhcnksIFxuKTtcblxuXG4vKlxuICAgIERFRkFVTFRTXG4qL1xuXG4kZGVmYXVsdC1wYWRkaW5nOiAyMHB4O1xuJGRlZmF1bHQtYm9yZGVyLXJhZGl1czogNnB4Oy8vIDZweFxuJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDogLjNzIGVhc2U7XG4kZGVmYXVsdC1ib3gtc2hhZG93OiA1cHggNXB4IDEwcHggcmdiYShibGFjaywgLjEpO1xuXG4kZGVmYXVsdC10ZXh0LWNvbG9yOiAkYnJhbmQtdGVydGlhcnktZGFya2VyO1xuJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodDogJGJyYW5kLXdoaXRlO1xuJGRlZmF1bHQtdGV4dC1jb2xvci1kYXJrOiAkYnJhbmQtdGVydGlhcnktZGFya2VyO1xuXG4kZGVmYXVsdC1pY29uLWNvbG9yOiAkYnJhbmQtdGVydGlhcnk7XG4kZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0OiAkYnJhbmQtd2hpdGU7XG4kZGVmYXVsdC1pY29uLWNvbG9yLWRhcms6ICRicmFuZC10ZXJ0aWFyeS1kYXJrZXI7XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ6ICRicmFuZC13aGl0ZTtcbiRkZWZhdWx0LWJhY2tncm91bmQtZGFyazogJGJyYW5kLXRlcnRpYXJ5LWRhcmtlcjtcblxuJGRlZmF1bHQtYm9yZGVyLWNvbG9yOiByZ2JhKCRicmFuZC1kYXJrLWdyYXksIC4yKTsgIFxuJGRlZmF1bHQtYm9yZGVyOiBzb2xpZCAxcHggJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXG5cbi8qXG4gICAgT1RIRVIgVkFSSUFCTEVTXG4qL1xuXG4vLyBTVkdcbiRzdmctaWNvbi1zZXQtdHlwZTogJ3N0cm9rZSc7IC8vIHN0cm9rZSBvciBmaWxsLiBcblxuLy8gTUFYIENPTlRFTlQgV0lEVEhcbiRtYXgtY29udGVudC02MDA6IDYwMHB4O1xuJG1heC1jb250ZW50LTgwMDogODAwcHg7XG4kbWF4LWNvbnRlbnQtMTAwMDogMTAwMHB4O1xuJG1heC1jb250ZW50LTExMDA6IDExMDBweDtcbiRtYXgtY29udGVudC0xMjAwOiAxMjAwcHg7XG4kbWF4LWNvbnRlbnQtMTQwMDogMTQwMHB4O1xuJG1heC1jb250ZW50LTE2MDA6IDE2MDBweDtcblxuXG4vKlxuICAgIExJU1QgRk9SIERFRkFVTFQgQkcgQ09MT1IgR0VORVJBVElPTlxuKi9cblxuJGRlZmF1bHQtYmctbGlzdDogIChcbiAgICBkZWZhdWx0X2xpZ2h0OiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0LFxuICAgIGRlZmF1bHRfZGFyazogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrLFxuKTtcblxuXG4vKlxuICAgIExJU1QgRk9SIERFRkFVTFQgRk9OVCBDT0xPUiBHRU5FUkFUSU9OXG4qL1xuXG4kZGVmYXVsdC10ZXh0LWNvbG9yLWxpc3Q6ICAoXG4gICAgZGVmYXVsdDogJGRlZmF1bHQtdGV4dC1jb2xvcixcbiAgICBkZWZhdWx0X2xpZ2h0OiAkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LFxuICAgIGRlZmF1bHRfZGFyazogJGRlZmF1bHQtdGV4dC1jb2xvci1kYXJrLFxuKTtcblxuXG4vKlxuICAgIExJU1QgRk9SIERFRkFVTFQgRklMTCBDT0xPUiBHRU5FUkFUSU9OXG4qL1xuXG4kZGVmYXVsdC1maWxsLWNvbG9yLWxpc3Q6ICAoXG4gICAgZGVmYXVsdDogJGRlZmF1bHQtaWNvbi1jb2xvcixcbiAgICBkZWZhdWx0X2xpZ2h0OiAkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LFxuICAgIGRlZmF1bHRfZGFyazogJGRlZmF1bHQtaWNvbi1jb2xvci1kYXJrLFxuKTtcblxuXG4iLCIvKiBGVU5DVElPTlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiIsIi8qIE1JWElOU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0ICdtaXhpbnMvZmFtaWx5JztcblxuQGltcG9ydCAnbWl4aW5zL2JvdHRvbS1pdGVtcy1uby1ib3JkZXInO1xuQGltcG9ydCAnbWl4aW5zL2JvcmRlci1yZXNwb25zaXZlbmVzcyc7XG5AaW1wb3J0ICdtaXhpbnMvY29udGVudC1hbGlnbm1lbnQnO1xuQGltcG9ydCAnbWl4aW5zL2RyYXctYXJyb3cnO1xuQGltcG9ydCAnbWl4aW5zL2ZpbmQtY29udHJhc3QnO1xuXG4iLCIvKiBNSVhJTiAtIEJPVFRPTSBJVEVNUyBOTyBCT1JERVIgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBSZW1vdmVzIGJvcmRlciBib3R0b20gZnJvbSBsYXN0IGl0ZW1zIGluIGEgZ3JpZFxuXG4qL1xuXG5cbkBtaXhpbiBib3R0b20taXRlbXMtbm8tYm9yZGVyKCRwYXR0ZXJuKSB7XG4gICAgXG4gICAgLy9cbiAgICAvLyAgICAgIFMxIHZlcnNpb25zXG4gICAgLy9cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzEtTVAyJyl7IFxuICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCIyXCJdIHtcbiAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3QoMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3QoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmKCRwYXR0ZXJuID09ICdTMS1NUDItTDMnKXsgXG4gICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjNcIl0ge1xuICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFzdCgxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YS1ib3JkZXItYm90dG9tXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFzdCgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YS1ib3JkZXItYm90dG9tXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFzdCgzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YS1ib3JkZXItYm90dG9tXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYoJHBhdHRlcm4gPT0gJ1MxLU1QMi1MNCcpeyBcbiAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiNFwiXSB7XG4gICAgICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7IFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3QoNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaWYoJHBhdHRlcm4gPT0gJ1MxLU1QMi1MNScpeyBcbiAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiNVwiXSB7XG4gICAgICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7IFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3QoNSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyAgICAgIFMyIHZlcnNpb25zXG4gICAgLy9cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzInKXsgXG4gICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjJcIl0ge1xuICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDIpIHtcbiAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYoJHBhdHRlcm4gPT0gJ1MyLU0zJyBvciAkcGF0dGVybiA9PSAnUzItTVAyLUwzJyl7IFxuICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCIzXCJdIHtcbiAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgZG93bikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzItTDQnIG9yICRwYXR0ZXJuID09ICdTMi1NUDItTDQnKXsgXG4gICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjRcIl0ge1xuICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3QoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFzdCg0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YS1ib3JkZXItYm90dG9tXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYoJHBhdHRlcm4gPT0gJ1MyLUw1JyBvciAkcGF0dGVybiA9PSAnUzItTVAyLUw1Jyl7IFxuICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCI1XCJdIHtcbiAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxhc3QoNSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLyogTUlYSU4gLSBCT1JERVIgUkVTUE9OU0lWRU5FU1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIFRoaXMgbWl4aW4gY2FsY3VsYXRlcyB0aGUgdHJhbnBhcmVudCBib3JkZXJzIG9uIGdyaWRzLCBzbyB5b3UgaGF2ZSBib3JkZXJzIGJldHdlZW4gaXRlbXMsIGJ1dCBub3Qgb24gdGhlIGxlZnQgc2lkZS4gXG4gICAgSXQgYWNjZXB0cyBhIHBhdHRlcm4sIChTMS1NUDIpLCB3aGljaCBtZWFucyBvbiBzbWFsbCAxIGl0ZW0gcGVyIHJvdywgb24gbWVkaXVtLXBvcnRyYWl0IDIsIGV0Yy4gXG4gICAgVGhlIGZpcnN0IGl0ZW0gY2FuIGJlIHNldCBhcyBsYXJnZSBhbmQgdGhlcmVmb3JlIDEwMCUgd2lkdGggb2YgcGFyZW50IGNvbnRhaW5lciBzaXplLlxuXG4qL1xuXG5cbkBtaXhpbiBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJHBhdHRlcm4sICRmaXJzdC1pdGVtLWxhcmdlOiBmYWxzZSkge1xuXG4gICAgLy9cbiAgICAvLyAgICAgIFMxIHZlcnNpb25zXG4gICAgLy9cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzEnKXsgXG4gICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjFcIl0ge1xuICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYoJHBhdHRlcm4gPT0gJ1MxLU1QMicpeyBcbiAgICAgICAgQGlmICRmaXJzdC1pdGVtLWxhcmdlID09IHRydWUge1xuICAgICAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiMlwiXSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiMlwiXSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBpZigkcGF0dGVybiA9PSAnUzEtTVAyLU0zJyl7IFxuICAgICAgICBAaWYgJGZpcnN0LWl0ZW0tbGFyZ2UgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCIzXCJdIHtcbiAgICAgICAgICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7IFxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbisyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjNcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmKCRwYXR0ZXJuID09ICdTMS1NUDItTTMtTDQnKXsgXG4gICAgICAgIEBpZiAkZmlyc3QtaXRlbS1sYXJnZSA9PSB0cnVlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjRcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4rMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCI0XCJdIHtcbiAgICAgICAgICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7IFxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYoJHBhdHRlcm4gPT0gJ1MxLU1QMi1MNCcpeyBcbiAgICAgICAgQGlmICRmaXJzdC1pdGVtLWxhcmdlID09IHRydWUge1xuICAgICAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiNFwiXSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bisyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjRcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGlmKCRwYXR0ZXJuID09ICdTMS1NUDItTDUnKXsgXG4gICAgICAgIEBpZiAkZmlyc3QtaXRlbS1sYXJnZSA9PSB0cnVlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjVcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDVuKzIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiNVwiXSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvL1xuICAgIC8vICAgICAgUzIgdmVyc2lvbnNcbiAgICAvL1xuICAgIFxuICAgIEBpZigkcGF0dGVybiA9PSAnUzInIG9yICRwYXR0ZXJuID09ICdTMi1NUDInKXsgXG4gICAgICAgIEBpZiAkZmlyc3QtaXRlbS1sYXJnZSA9PSB0cnVlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjJcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiMlwiXSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuICAgIH1cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzItTTMnIG9yICRwYXR0ZXJuID09ICdTMi1NUDItTTMnKXsgIFxuICAgICAgICBAaWYgJGZpcnN0LWl0ZW0tbGFyZ2UgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCIzXCJdIHtcbiAgICAgICAgICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7IFxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJltkYXRhLXMtYW1vdW50PVwiM1wiXSB7XG4gICAgICAgICAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0geyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzItTDQnIG9yICRwYXR0ZXJuID09ICdTMi1NUDItTDQnKXsgXG4gICAgICAgIEBpZiAkZmlyc3QtaXRlbS1sYXJnZSA9PSB0cnVlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjRcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybisyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bisyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjRcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZigkcGF0dGVybiA9PSAnUzItTDUnKXsgXG4gICAgICAgIEBpZiAkZmlyc3QtaXRlbS1sYXJnZSA9PSB0cnVlIHtcbiAgICAgICAgICAgICZbZGF0YS1zLWFtb3VudD1cIjVcIl0ge1xuICAgICAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHsgXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNW4rMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAmW2RhdGEtcy1hbW91bnQ9XCI1XCJdIHtcbiAgICAgICAgICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcblxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5taXhpbiB0aGF0IGNhbGN1bGF0ZXMgaWYgdGV4dCBuZWVkcyB0byBiZSBsaWdodCBvciBkYXJrXG5kZXBlbmRpbmcgb24gdGhlIGJhY2tncm91bmQgY29sb3IgcGFzc2VkLlxuXG5Gcm9tIHRoaXMgVzNDIGRvY3VtZW50OiBodHRwOi8vd3d3LndlYm1hc3RlcndvcmxkLmNvbS9yLmNnaT9mPTg4JmQ9OTc2OSZ1cmw9aHR0cDovL3d3dy53My5vcmcvVFIvQUVSVCNjb2xvci1jb250cmFzdFxuXHRcdFx0XG5Db2xvciBicmlnaHRuZXNzIGlzIGRldGVybWluZWQgYnkgdGhlIGZvbGxvd2luZyBmb3JtdWxhOiBcbigoUmVkIHZhbHVlIFggMjk5KSArIChHcmVlbiB2YWx1ZSBYIDU4NykgKyAoQmx1ZSB2YWx1ZSBYIDExNCkpIC8gMTAwMFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGZ1bmN0aW9uIGZpbmQtY29udHJhc3QoJG4pIHtcbiAgJGNvbG9yLWJyaWdodG5lc3M6IHJvdW5kKChyZWQoJG4pICogMjk5KSArIChncmVlbigkbikgKiA1ODcpICsgKGJsdWUoJG4pICogMTE0KSAvIDEwMDApO1xuICAkbGlnaHQtY29sb3I6IHJvdW5kKChyZWQoI2ZmZmZmZikgKiAyOTkpICsgKGdyZWVuKCNmZmZmZmYpICogNTg3KSArIChibHVlKCNmZmZmZmYpICogMTE0KSAvIDEwMDApO1xuICBcbiAgQGlmIGFicygkY29sb3ItYnJpZ2h0bmVzcykgPCAoJGxpZ2h0LWNvbG9yLzIpe1xuICAgIEByZXR1cm4gJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0LXRleHQtY29sb3ItZGFyaztcbiAgfVxufVxuXG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogOTUlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogJGRlZmF1bHQtdGV4dC1jb2xvcixcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICRicmFuZC1ibGFjaztcbiR3aGl0ZTogI2ZmZmZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICRicmFuZC13aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3I7XG4kYm9keS1mb250LWZhbWlseTogJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keTtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6ICRkZWZhdWx0LWZvbnQtZmFtaWx5LWJvZHktd2VpZ2h0O1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keS13ZWlnaHQtYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiBmYWxzZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW0tcG9ydHJhaXQ6IDY0MHB4LFxuICBtZWRpdW06IDgwMHB4LFxuICBsYXJnZTogMTAyNXB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0tcG9ydHJhaXQgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRkZWZhdWx0LWZvbnQtZmFtaWx5LWhlYWRpbmdzO1xuJGhlYWRlci1mb250LXdlaWdodDogJGRlZmF1bHQtZm9udC13ZWlnaHQtaGVhZGluZ3M7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNiksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMiksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuJGhlYWRlci1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvcjtcbiRoZWFkZXItbGluZWhlaWdodDogMTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuODtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE2LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1saWdodC1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjkuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMwLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzEuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMyLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMzLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzUuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7ICAgIFxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSBvciBicmVha3BvaW50IG5hbWUgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJHByaW1hcnktY29sb3IsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcywgXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJHByaW1hcnktY29sb3JdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG5AbWl4aW4gbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5AaW1wb3J0ICdmb250cyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ21peGlucyc7XG5cbi8vIGZvdW5kYXRpb25cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZXRlci1lbGVtZW50O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKiBTTElDSyAqL1xuQGltcG9ydCBcImJvd2VyX2NvbXBvbmVudHMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzc1wiO1xuXG4vKiBQSE9UT1NXSVBFICovXG4vLyBAaW1wb3J0IFwiYm93ZXJfY29tcG9uZW50cy9waG90b3N3aXBlL3NyYy9jc3MvbWFpbi5zY3NzXCI7XG5cbkBpbXBvcnQgJ3N0cnVjdHVyZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzJztcbkBpbXBvcnQgJ3NlY3Rpb24tY29udHJvbCc7XG5cbkBpbXBvcnQgJ2FkanVzdG1lbnRzJztcbkBpbXBvcnQgJ2JyYW5kLWFkanVzdG1lbnRzJztcbkBpbXBvcnQgJ2ZpeGVzJztcblxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogU1RVQ1RVUkVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmJvZHkge1xuXG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5cblxuYSB7XG4gICAgLy8gdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG59XG5cbi8vIGZpeCBmb3Igbm9uIGFuaW1hdGFibGVzXG5bZGF0YS1hbmltZS10eXBlPVwibm9uZVwiXSBbZGF0YS1hbmltZS1lbGVtXXsgXG4gICAgb3BhY2l0eTogMTsgXG59XG5cbi8vIC5zdmdfbGluZSB7XG4vLyAgICAgc3ZnIHtcbi8vICAgICAgICAgZmlsbDogbm9uZSAhaW1wb3J0YW50O1xuLy8gICAgICAgICBzdHJva2U6IGdyZWVuO1xuLy8gICAgICAgICBzdHJva2Utd2lkdGg6IDVweDtcbi8vICAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuLy8gICAgICAgICBzdHJva2UtbWl0ZXJsaW1pdDogMTAwO1xuLy8gICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAxMDAwO1xuLy8gICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogMTAwMDtcbi8vICAgICAgICAgYW5pbWF0aW9uOiBkYXNoIDNzIGVhc2Utb3V0IGZvcndhcmRzO1xuLy8gICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuLy8gICAgIH1cbi8vIH1cblxuLy8gQGtleWZyYW1lcyBkYXNoIHtcbi8vICAgdG8ge1xuLy8gICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuLy8gICB9XG4vLyB9XG4iLCJcblxuLyogR0VORVJJQ1Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ2VuZXJpY3MvYW5jaG9ycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dlbmVyaWNzL2J1dHRvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9nZW5lcmljcy9mb3JtJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ2VuZXJpY3MvaGFtYnVyZ2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZ2VuZXJpY3MvaHInO1xuQGltcG9ydCAnY29tcG9uZW50cy9nZW5lcmljcy9saXN0LXNlYXJjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dlbmVyaWNzL21hcHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9nZW5lcmljcy9zbGljay1zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9nZW5lcmljcy9zdmcnO1xuXG5cbi8qIFBBUlRTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0ICdjb21wb25lbnRzL3BhcnRzL2FjX2NvbnRlbnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYXJ0cy9hY19kYXRhLXMtYW1vdW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFydHMvYWNfYmFja2Ryb3AnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYXJ0cy9hY19zZWN0aW9uX2RpdmlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYXJ0cy9hY19oZWFkaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFydHMvYWNfc29jaWFscyc7XG5cblxuLyogRk9PVEVSU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXJzL2FjX2ZfZm9vdGVyXzEvZm9vdGVyXzFfMSc7XG4vL0BpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVycy9hY19mX2Zvb3Rlcl8yL2Zvb3Rlcl8yXzInO1xuXG5cbi8qIE1FTlVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIGhvcml6b250YWwgbWVudXNcbi8vQGltcG9ydCAnY29tcG9uZW50cy9tZW51cy9hY19tX21lbnVfMS9tZW51XzFfMSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnVzL2FjX21fbWVudV8yL21lbnVfMl8xJztcbi8vQGltcG9ydCAnY29tcG9uZW50cy9tZW51cy9hY19tX21lbnVfMy9tZW51XzNfMSc7XG4vL0BpbXBvcnQgJ2NvbXBvbmVudHMvbWVudXMvYWNfbV9tZW51XzQvbWVudV80XzEnO1xuLy9AaW1wb3J0ICdjb21wb25lbnRzL21lbnVzL2FjX21fbWVudV81L21lbnVfNV8xJztcblxuLy8gdmVydGljYWwgbWVudXNcbi8vQGltcG9ydCAnY29tcG9uZW50cy9tZW51cy9hY19tX21lbnVfMTAxL21lbnVfMTAxXzEnO1xuXG5cblxuLyogU0VDVElPTlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQGltcG9ydCAnY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2JyYW5kcy9icmFuZHNfMSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19wYXJ0bmVycy9wYXJ0bmVyc18xJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2N0YS9jdGFfMic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfY3RhX3RleHQtYnV0dG9uL2N0YV90ZXh0LWJ1dHRvbl8yJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19jdGFfdGV4dC1pbWFnZS9jdGFfdGV4dC1pbWFnZV8xJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19jdGFfdGV4dC1zb2NpYWxzL2N0YV90ZXh0LXNvY2lhbHNfMyc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19oZXJvL2hlcm9fMic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaGVyb19hbHQvaGVyb19hbHRfMSc7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfaW1hZ2UvaW1hZ2VfMVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS1iZy1maXhlZC9pbWFnZS1iZy1maXhlZF8xXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW4vaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl8xXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX2ltYWdlLWdhbGxlcnlfZ3JpZC9pbWFnZS1nYWxsZXJ5X2dyaWRfMlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19pbWFnZS1nYWxsZXJ5L2ltYWdlLWdhbGxlcnlfMlwiO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfbWFwcy9tYXBzXzEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfbmV3cy9uZXdzXzQnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zL2FjX3NfcmVmZXJlbmNlcy9yZWZlcmVuY2VzXzInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWN0aW9ucy9hY19zX3JlZmVyZW5jZXMtZ3JpZC9yZWZlcmVuY2VzLWdyaWRfMSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMvYWNfc19zZXJ2aWNlcy1ncmlkL3NlcnZpY2VzLWdyaWRfMSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zL2FjX3Nfc2VydmljZXMvc2VydmljZXNfMic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbnMvYWNfc190b3B0YXNrcy90b3B0YXNrc18xJzsiLCIvKiBHRU5FUklDUyAtIEFOQ0hPUlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmEgeyBcbiAgICAvL2Rpc2FibGUgdGVsIGxpbmtzIG9uIGxhcmdlXG4gICAgJltocmVmXj1cInRlbFwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBkaXNcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiBHRU5FUklDUyAtIEJVVFRPTiBHUk9VUFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuJGJ1dHRvbi1zdmctc2l6ZTogMmVtO1xuJGJ1dHRvbi1ib3JkZXI6IHNvbGlkIDNweDtcbiRidXR0b24tcGFkZGluZzogMS4yZW07XG5cbi8vXG4vLyAgICAgQlVUVE9OIEJFSEFWSU9VUlxuLy9cblxuYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgIG91dGxpbmU6IG5vbmU7IFxuICAgICB9XG59XG5cbi5idXR0b24geyAvLyBvbmx5IHN0eWxlIGNsYXNzIGVsZW1lbnRzLCBub3QgdGhlIEhUTUwgYnV0dG9uIGVsZW1lbnRzXG4gICAgXG4gICAgLy9cbiAgICAvLyAgICAgIERFRkFVTFRTXG4gICAgLy9cblxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgICBib3JkZXItY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vZGVmYXVsdCBiZ1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsICRicmFuZC1wcmltYXJ5LWRhcmtlciwgJGJyYW5kLXByaW1hcnkpO1xuICAgIGNvbG9yOiAkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0O1xuICAgIFxuXG4gICAgLnN2Zy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogJGJ1dHRvbi1zdmctc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkYnV0dG9uLXN2Zy1zaXplO1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogJGJ1dHRvbi1zdmctc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkYnV0dG9uLXN2Zy1zaXplO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICAgICYudl9leHBhbmRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vICAgICBCUkFORCBDTEFTU0VTXG4gICAgLy9cblxuICAgIC8vIGdlbmVyYXRlIGJyYW5kIGJ1dHRvbiBjbGFzc2VzXG4gICAgQG1peGluIGdlbmVyYXRlLWJ0bi1jbGFzc2VzIHtcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmFuZC1jb2xvci1saXN0IHtcbiAgICAgICAgICAgICYudl9icmFuZF8jeyRrZXl9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRicmFuZC1jb2xvci1saXN0LCAka2V5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogZmluZC1jb250cmFzdChtYXAtZ2V0KCRicmFuZC1jb2xvci1saXN0LCAka2V5KSk7IC8vIHRleHQgaXMgYXV0b21hdGljYWxseSBjaGVja2VkIGZvciBjb250cmFzdC4gQ2FuIGJlIG92ZXJ3dGl0dGVuIG1hbnVhbGx5LlxuICAgICAgICAgICAgfSAgIFxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGdlbmVyYXRlLWJ0bi1jbGFzc2VzKCk7XG5cbiAgICAvL1xuICAgIC8vICAgICBCUkFORCBHSE9TVCBDTEFTU0VTXG4gICAgLy9cblxuICAgICYudl9naG9zdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgYnJhbmQgYnV0dG9uIGdob3N0IGNsYXNzZXNcbiAgICBAbWl4aW4gZ2VuZXJhdGUtYnRuLWdob3N0LWNsYXNzZXMge1xuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyYW5kLWNvbG9yLWxpc3Qge1xuICAgICAgICAgICAgJi52X2dob3N0X2JyYW5kXyN7JGtleX0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJyYW5kLWNvbG9yLWxpc3QsICRrZXkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnJhbmQtY29sb3ItbGlzdCwgJGtleSk7XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtYnRuLWdob3N0LWNsYXNzZXMoKTtcblxuICAgIC8vXG4gICAgLy8gICAgIFRSQU5TUEFSRU5UIENMQVNTRVNcbiAgICAvL1xuXG4gICAgJi52X3RyYW5zcGFyZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi52X3RyYW5zcGFyZW50X2JvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgZm9udC1ib2R5LXJlZ3VsYXI7XG4gICAgICAgIC5zdmctY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYnV0dG9uLXN2Zy1zaXplICogLjc7XG4gICAgICAgICAgICBoZWlnaHQ6ICRidXR0b24tc3ZnLXNpemUgKiAuNztcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRidXR0b24tc3ZnLXNpemUgKiAuNztcbiAgICAgICAgICAgIGhlaWdodDogJGJ1dHRvbi1zdmctc2l6ZSAqIC43O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyAgICAgSUNPTlxuICAgIC8vXG5cbiAgICAmLnZfaGFzLWljb24tbGVmdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgcGFkZGluZzogICRidXR0b24tcGFkZGluZyAtICgkYnV0dG9uLXBhZGRpbmcgKiAuMyk7XG4gICAgICAgIC5zdmctY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJ1dHRvbi1zdmctc2l6ZSAvIDI7XG4gICAgICAgIH1cbiAgICAgICBcbiAgICB9XG4gICAgJi52X2hhcy1pY29uLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nIC0gKCRidXR0b24tcGFkZGluZyAqIC4zKTtcbiAgICAgICAgLnN2Zy1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRidXR0b24tc3ZnLXNpemUgLyAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyAgICAgSE9WRVIgU1RBVEVcbiAgICAvL1xuICAgXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgIH1cbn1cbiIsIi8qIEdFTkVSSUNTIC0gRk9STVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gICAgXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRicmFuZC10ZXJ0aWFyeSwgLjMpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMHJlbSAycmVtIC4ycmVtIDFyZW0gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRicmFuZC10ZXJ0aWFyeSwgLjE1KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGJyYW5kLXRlcnRpYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICBjb2xvcjogcmdiYSgkYnJhbmQtdGVydGlhcnksIC42KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoJGJyYW5kLXRlcnRpYXJ5LCAxKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwcmVtIDIuNXJlbSAwIDFyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMThweCBjZW50ZXI7XG59XG50ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG59XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJde1xuICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gICAgIGJvcmRlcjogc29saWQgM3B4ICRicmFuZC1saWdodC1ncmF5ICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0Ojotd2Via2l0LWNvbnRhY3RzLWF1dG8tZmlsbC1idXR0b24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59IiwiLyogR0VORVJJQ1MgLSBIUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHIge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKCRicmFuZC1ibGFjaywgLjE1KTtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59IiwiLyogTElTVCBTRUFSQ0hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmFjX2xpc3Qtc2VhcmNoIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAkZGVmYXVsdC1ib3JkZXI7XG59XG4uYWNfbGlzdC1zZWFyY2hfaXRlbXtcbiAgICBib3JkZXItYm90dG9tOiAkZGVmYXVsdC1ib3JkZXI7XG59XG4uYWNfbGlzdC1zZWFyY2hfaXRlbV9saW5re1xuICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLmFjX2xpc3Qtc2VhcmNoX2l0ZW1fY29udGVudCB7XG5cbn1cbi5hY19saXN0LXNlYXJjaF9pdGVtX3RpdGxlIHtcbiAgICBcbn1cbiIsIi8qIEdFTkVSSUNTIC0gTUFQU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmdtLXN0eWxlIHtcbiAgICBmb250LWZhbWlseTogJGRlZmF1bHQtZm9udC1mYW1pbHktYm9keSAhaW1wb3J0YW50O1xufSIsIi8qIEdFTkVSSUNTIC0gU0xJQ0sgU0xJREVSXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjIyO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IC0yZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBib3R0b206IC00ZW07XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggcmdiYSgkYnJhbmQtdGVydGlhcnktZGFya2VyLCAuMSk7IFxuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIC4xNWVtO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXRlcnRpYXJ5LWRhcmtlcjsgXG4gICAgICAgIH0gICBcbiAgICB9XG59XG5cbi5zbGljay1zbGlkZSB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG5idXR0b24uc2xpY2stcHJldixcbmJ1dHRvbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjIyO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogM2VtO1xuICAgIGhlaWdodDogM2VtO1xuICAgIHBhZGRpbmc6IC41ZW07XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLXdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLyAyO1xuICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LWJveC1zaGFkb3c7XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDJlbTtcbiAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cbmJ1dHRvbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAwO1xufVxuYnV0dG9uLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAwO1xufSIsIi8qIEdFTkVSSUNTIC0gU1ZHXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnN2ZyB7XG4gICAgQGlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnc3Ryb2tlJyB7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMi41cHg7XG4gICAgfVxufSIsIlxuLyogUEFSVCAtIENPTlRFTlRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hY19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWNfY29udGVudF9jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LTEwMDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nO1xuXG4gICAgJi5hX2NvbGxhcHNlZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuLmFjX2NvbnRlbnRfZmxleCB7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgIH1cbn1cblxuXG5cbi5hY19jb250ZW50X2Z1bGwsXG4uYWNfY29udGVudF9mdWxsd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5hY19jb250ZW50X2hhbGYsXG4uYWNfY29udGVudF8xLTIgeyAgICBcbiAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgIH1cbn1cblxuLmFjX2NvbnRlbnRfMS0zIHtcbiAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKDEvMyk7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzMpO1xuICAgIH1cbn1cbi5hY19jb250ZW50XzItMyB7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbGV4OiAwIDEgcGVyY2VudGFnZSgyLzMpO1xuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMi8zKTtcbiAgICB9XG59XG5cbi5hY19jb250ZW50XzEtNCB7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbGV4OiAwIDEgcGVyY2VudGFnZSgxLzQpO1xuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS80KTtcbiAgICB9XG59XG4uYWNfY29udGVudF8zLTQge1xuICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoMy80KTtcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDMvNCk7XG4gICAgfVxufVxuXG4uYWNfY29udGVudF8xLTUge1xuICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKDEvNSk7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgyLzUpO1xuICAgIH1cbn1cbi5hY19jb250ZW50XzItNSB7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoMi81KTtcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDIvNSk7XG4gICAgfVxufVxuLmFjX2NvbnRlbnRfMy01IHtcbiAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbGV4OiAwIDEgcGVyY2VudGFnZSgzLzUpO1xuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMy81KTtcbiAgICB9XG59XG4uYWNfY29udGVudF80LTUge1xuICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoNC81KTtcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDQvNSk7XG4gICAgfVxufSIsIi8qIEdSSUQgLSBCQVNFRCBPTiBEQVRBIEFUVFJJQlVURVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuW2RhdGEtcy1hbW91bnQ9XCIxXCJdIHtcbiAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuW2RhdGEtcy1hbW91bnQ9XCIyXCJdIHtcbiAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0KSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltkYXRhLXMtYW1vdW50PVwiM1wiXSB7XG4gICAgW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8yKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICB9XG4gICAgfVxuICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgxLzMpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltkYXRhLXMtYW1vdW50PVwiNFwiXSB7XG4gICAgW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8yKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS80KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5bZGF0YS1zLWFtb3VudD1cIjVcIl0ge1xuICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS8yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvNSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS81KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuLyogQkFDS0RST1AgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5hY19iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmFjX2JhY2tkcm9wX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cbi5hY19iYWNrZHJvcF9pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5hY19iYWNrZHJvcF92aWRlby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICB2aWRlbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59IiwiXG4vKiBTRUNUSU9OIC0gRElWSURFUiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4kYWNfc2VjdGlvbl9kaXZpZGVyOiB0cnVlOyAvL2VuYWJsZSBvciBkaXNhYmxlIGFsbCBzZWN0aW9uIGRpdmlkZXJzXG5cblxuLmFjX3NlY3Rpb25fZGl2aWRlciB7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gcHJldmVudCBpbnRlcmZlcmVuY2Ugd2l0aCB1aSBlbGVtZW50c1xuXG4gICAgQGlmICRhY19zZWN0aW9uX2RpdmlkZXIgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEBpbXBvcnQgJ2FjX3NlY3Rpb25fZGl2aWRlci9hbmdsZWQnO1xuICAgIEBpbXBvcnQgJ2FjX3NlY3Rpb25fZGl2aWRlci9hbmdsZWQtc3ZnJztcbiAgICBAaW1wb3J0ICdhY19zZWN0aW9uX2RpdmlkZXIvYnV0dC1jaGVla3MnO1xuICAgIEBpbXBvcnQgJ2FjX3NlY3Rpb25fZGl2aWRlci9jdXJ2ZWQtY2hlZWtzJztcbiAgICBAaW1wb3J0ICdhY19zZWN0aW9uX2RpdmlkZXIvZG90dGVkJztcbiAgICBAaW1wb3J0ICdhY19zZWN0aW9uX2RpdmlkZXIvc2VtaS10cmFuc3BhcmVudCc7XG4gICAgQGltcG9ydCAnYWNfc2VjdGlvbl9kaXZpZGVyL3NtaWxlJztcbiAgICBAaW1wb3J0ICdhY19zZWN0aW9uX2RpdmlkZXIvc3Bpa2VkJztcbiAgICBAaW1wb3J0ICdhY19zZWN0aW9uX2RpdmlkZXIvc3Bpa2VkLXNtYWxsJztcblxufVxuXG4iLCIvKiBTRUNUSU9OIC0gRElWSURFUiAtIEFOR0xFRCBTVkdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJltkYXRhLXMtZGl2aWRlci10eXBlPVwiYW5nbGVkLXN2Z1wiXSB7XG5cbiAgICAvL3JlZHVjZSB0byBtYWtlIHNtYWxsZXIsIGluY3JlYXNlIHRvIG1ha2UgbGFyZ2VyXG4gICAgJGFuZ2xlZC1kaXZpZGVyLWhlaWdodDogM3Z3O1xuXG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgICAgICB0b3A6IC0kYW5nbGVkLWRpdmlkZXItaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhbmdsZWQtZGl2aWRlci1oZWlnaHQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgLy8gcHJldmVudCBwb3NzaWJsZSBsaW5lIGluIHNhZmFyaVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20ge1xuICAgICAgICBib3R0b206IC0kYW5nbGVkLWRpdmlkZXItaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhbmdsZWQtZGl2aWRlci1oZWlnaHQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgLy8gcHJldmVudCBwb3NzaWJsZSBsaW5lIGluIHNhZmFyaVxuICAgICAgICB9XG4gICAgfVxufSIsIi8qIFNFQ1RJT04gLSBESVZJREVSIC0gQU5HTEVEIFNWR1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4mW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJidXR0LWNoZWVrc1wiXSB7XG5cbiAgICAvL3JlZHVjZSB0byBtYWtlIHNtYWxsZXIsIGluY3JlYXNlIHRvIG1ha2UgbGFyZ2VyXG4gICAgJGRpdmlkZXItYnV0dC1jaGVla3MtaGVpZ2h0OiA1MHB4O1xuXG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgICAgICB0b3A6IC0kZGl2aWRlci1idXR0LWNoZWVrcy1oZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5hY19zZWN0aW9uX2RpdmlkZXJfYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiAtJGRpdmlkZXItYnV0dC1jaGVla3MtaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyX2NoZWVrX2xlZnQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6ICAkZGl2aWRlci1idXR0LWNoZWVrcy1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZGl2aWRlci1idXR0LWNoZWVrcy1oZWlnaHQ7XG4gICAgfSAgIFxuICAgIC5hY19zZWN0aW9uX2RpdmlkZXJfY2hlZWtfcmlnaHQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6ICAkZGl2aWRlci1idXR0LWNoZWVrcy1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRkaXZpZGVyLWJ1dHQtY2hlZWtzLWhlaWdodDtcbiAgICB9ICAgXG59IiwiLyogU0VDVElPTiAtIERJVklERVIgLSBBTkdMRUQgU1ZHXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiZbZGF0YS1zLWRpdmlkZXItdHlwZT1cImN1cnZlZC1jaGVla3NcIl0ge1xuXG4gICAgLy9yZWR1Y2UgdG8gbWFrZSBzbWFsbGVyLCBpbmNyZWFzZSB0byBtYWtlIGxhcmdlclxuICAgICRhbmdsZWQtZGl2aWRlci1oZWlnaHQ6IDEwdnc7XG5cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyX3RvcCB7XG4gICAgICAgIHRvcDogLSRhbmdsZWQtZGl2aWRlci1oZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJGFuZ2xlZC1kaXZpZGVyLWhlaWdodDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyAvLyBwcmV2ZW50IHBvc3NpYmxlIGxpbmUgaW4gc2FmYXJpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSB7XG4gICAgICAgIGJvdHRvbTogLSRhbmdsZWQtZGl2aWRlci1oZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJGFuZ2xlZC1kaXZpZGVyLWhlaWdodDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOyAvLyBwcmV2ZW50IHBvc3NpYmxlIGxpbmUgaW4gc2FmYXJpXG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogU0VDVElPTiAtIERJVklERVIgLSBET1RURURcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJltkYXRhLXMtZGl2aWRlci10eXBlPVwiZG90dGVkXCJdIHtcbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyX3RvcCB7XG4gICAgICAgIHRvcDogLTE5cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYWNfc2VjdGlvbl9kaXZpZGVyX2JvdHRvbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3R0b206IC0xOS41M3B4O1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCIvKiBTRUNUSU9OIC0gRElWSURFUiAtIERPVFRFRFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4mW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzZW1pLXRyYW5zcGFyZW50XCJdIHtcblxuXG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBfcG9seWdvbi0xIHtcbiAgICAgICAgICAgIHRvcDogLTMuOXZ3O1xuICAgICAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNHZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYucF9wb2x5Z29uLTIge1xuICAgICAgICAgICAgdG9wOiAtN3Z3O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBvcGFjaXR5OiAuMztcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3dnc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyogU0VDVElPTiAtIERJVklERVIgLSBBTkdMRUQgU1ZHXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiZbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNtaWxlXCJdIHtcblxuICAgIC8vcmVkdWNlIHRvIG1ha2Ugc21hbGxlciwgaW5jcmVhc2UgdG8gbWFrZSBsYXJnZXJcbiAgICAkYW5nbGVkLWRpdmlkZXItaGVpZ2h0OiAxMHZ3O1xuXG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgICAgICB0b3A6IC0kYW5nbGVkLWRpdmlkZXItaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhbmdsZWQtZGl2aWRlci1oZWlnaHQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgLy8gcHJldmVudCBwb3NzaWJsZSBsaW5lIGluIHNhZmFyaVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20ge1xuICAgICAgICBib3R0b206IC0kYW5nbGVkLWRpdmlkZXItaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhbmdsZWQtZGl2aWRlci1oZWlnaHQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgLy8gcHJldmVudCBwb3NzaWJsZSBsaW5lIGluIHNhZmFyaVxuICAgICAgICB9XG4gICAgfVxufSIsIi8qIFNFQ1RJT04gLSBESVZJREVSIC0gU1BJS0VEXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiZbZGF0YS1zLWRpdmlkZXItdHlwZT1cInNwaWtlZFwiXSB7XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl90b3Age1xuICAgICAgICB0b3A6IC0xOXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmFjX3NlY3Rpb25fZGl2aWRlcl9ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiLyogU0VDVElPTiAtIERJVklERVIgLSBTUElLRUQgLSBTTUFMTFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4mW2RhdGEtcy1kaXZpZGVyLXR5cGU9XCJzcGlrZWQtc21hbGxcIl0ge1xuICAgIC5hY19zZWN0aW9uX2RpdmlkZXJfdG9wIHtcbiAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5hY19zZWN0aW9uX2RpdmlkZXJfYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLyogUEFSVCAtIFNFQ1RJT04gSEVBRElOR1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFjX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgJi52X3RpdGxlLWNlbnRlcmVkX2J1dHRvbi1yaWdodCB7XG4gICAgICAgIC5hY19oZWFkaW5nX3RpdGxlIHsgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNfaGVhZGluZ19saW5rIHsgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gICAgXG5cbiAgICAmLnZfdGl0bGUtY2VudGVyZWRfYnV0dG9uLWNlbnRlcmVkIHtcbiAgICAgICAgLmFjX2hlYWRpbmdfbGluayxcbiAgICAgICAgLmFjX2hlYWRpbmdfdGl0bGUgeyBcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudl90aXRsZS1sZWZ0X2J1dHRvbi1yaWdodCB7XG4gICAgICAgIC5hY19oZWFkaW5nX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH0gICAgXG59XG4uYWNfaGVhZGluZ19jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hY19oZWFkaW5nX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4uYWNfaGVhZGluZ19saW5rIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufSIsIi8qIFBBUlQgLSBTT0NJQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiRhYy1zb2NpYWxzLWljb24tc2l6ZTogNGVtO1xuJGFjLXNvY2lhbHMtaWNvbi1wYWRkaW5nOiAuNWVtO1xuJGFjLXNvY2lhbHMtaWNvbi1iYWNrZ3JvdW5kOiAkYnJhbmQtYmxhY2s7XG4kYWMtc29jaWFscy1pY29uLWJvcmRlci1yYWRpdXM6IDEwMCU7XG4kYWMtc29jaWFscy1pdGVtLW1hcmdpbjogLjZlbTsgLy8gbGVmdCBvciByaWdodCwgZGVvZW5kaW5nIG9uIGFsaWdubWVudFxuXG4uYWNfc29jaWFscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICYudl9zbWFsbGVyIHtcbiAgICAgICAgLmFjX3NvY2lhbHNfbGlua19pY29uIHtcbiAgICAgICAgICAgICRhYy1zb2NpYWxzLWljb24tc2l6ZTogJGFjLXNvY2lhbHMtaWNvbi1zaXplICogLjc1O1xuICAgICAgICAgICAgJGFjLXNvY2lhbHMtaWNvbi1wYWRkaW5nOiAkYWMtc29jaWFscy1pY29uLXBhZGRpbmcgKiAuNzU7XG5cbiAgICAgICAgICAgIHdpZHRoOiAkYWMtc29jaWFscy1pY29uLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhYy1zb2NpYWxzLWljb24tc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRhYy1zb2NpYWxzLWljb24tcGFkZGluZztcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRhYy1zb2NpYWxzLWljb24tc2l6ZSAtICgkYWMtc29jaWFscy1pY29uLXBhZGRpbmcgKiAyKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRhYy1zb2NpYWxzLWljb24tc2l6ZSAtICgkYWMtc29jaWFscy1pY29uLXBhZGRpbmcgKiAyKTtcbiAgICAgICAgICAgIH0gICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52X3NtYWxsZXN0IHtcbiAgICAgICAgLmFjX3NvY2lhbHNfbGlua19pY29uIHtcbiAgICAgICAgICAgICRhYy1zb2NpYWxzLWljb24tc2l6ZTogJGFjLXNvY2lhbHMtaWNvbi1zaXplICogLjU7XG4gICAgICAgICAgICAkYWMtc29jaWFscy1pY29uLXBhZGRpbmc6ICRhYy1zb2NpYWxzLWljb24tcGFkZGluZyAqIC41O1xuXG4gICAgICAgICAgICB3aWR0aDogJGFjLXNvY2lhbHMtaWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkYWMtc29jaWFscy1pY29uLXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYWMtc29jaWFscy1pY29uLXBhZGRpbmc7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkYWMtc29jaWFscy1pY29uLXNpemUgIC0gKCRhYy1zb2NpYWxzLWljb24tcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGFjLXNvY2lhbHMtaWNvbi1zaXplIC0gKCRhYy1zb2NpYWxzLWljb24tcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgfSAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnZfaGlkZV90ZXh0IHtcbiAgICAgICAgLmFjX3NvY2lhbHNfbGlua190ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52X2NvbGxhcHNlLW9uLXNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgLmFjX3NvY2lhbHNfbGluayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFjLXNvY2lhbHMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59ICAgXG4uYWNfc29jaWFsc19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWMtc29jaWFscy1pdGVtLW1hcmdpbiAvIDI7XG4gICAgbWFyZ2luLWxlZnQ6ICRhYy1zb2NpYWxzLWl0ZW0tbWFyZ2luIC8gMjtcbn1cbi5hY19zb2NpYWxzX2xpbmtfaWNvbiB7XG4gICAgd2lkdGg6ICRhYy1zb2NpYWxzLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRhYy1zb2NpYWxzLWljb24tc2l6ZTtcbiAgICBwYWRkaW5nOiAkYWMtc29jaWFscy1pY29uLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGFjLXNvY2lhbHMtaWNvbi1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRhYy1zb2NpYWxzLWljb24tYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogJGFjLXNvY2lhbHMtaWNvbi1zaXplIC0gKCRhYy1zb2NpYWxzLWljb24tcGFkZGluZyAqIDIpO1xuICAgICAgICBoZWlnaHQ6ICRhYy1zb2NpYWxzLWljb24tc2l6ZSAtICgkYWMtc29jaWFscy1pY29uLXBhZGRpbmcgKiAyKTtcbiAgICAgICAgZmlsbDogJGJyYW5kLXdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICB9ICAgIFxufVxuLmFjX3NvY2lhbHNfbGlua190ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogJGFjLXNvY2lhbHMtaXRlbS1tYXJnaW47XG59IiwiXG4vKiBGT09URVIgMSAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0ge1xuXG5cbiAgICAvLyBmb290ZXJcbiAgICAkZm9vdGVyLWJhY2tncm91bmQ6ICRicmFuZC10ZXJ0aWFyeS1kYXJrZXI7XG4gICAgJGZvb3Rlci1jb250ZW50LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTAwMDtcbiAgICBcbiAgICAvLyBwcmltYXJ5IGNvbnRhaW5lclxuICAgICRmb290ZXItcHJpbWFyeS1lbmFibGVkOiB0cnVlO1xuICAgICRmb290ZXItcHJpbWFyeS1iYWNrZ3JvdW5kOiAkYnJhbmQtdGVydGlhcnktZGFya2VyO1xuICAgICRmb290ZXItcHJpbWFyeS1wYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nICogMiAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICAkZm9vdGVyLXByaW1hcnktY29sb3I6ICRicmFuZC13aGl0ZTtcbiAgICAkZm9vdGVyLXByaW1hcnktbGluay1jb2xvcjogcmdiYSgkYnJhbmQtd2hpdGUsIDEpO1xuICAgICRmb290ZXItcHJpbWFyeS1saW5rLWhvdmVyLWNvbG9yOiByZ2JhKCRicmFuZC13aGl0ZSwgLjcpO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2x1bW4tMS1lbmFibGVkOiB0cnVlO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2x1bW4tMi1lbmFibGVkOiB0cnVlO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2x1bW4tMy1lbmFibGVkOiB0cnVlO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2x1bW4tNC1lbmFibGVkOiB0cnVlO1xuICAgIC8vIHdpZHRoIG9mIGNvbHVtbnMgYWJvdmUgbWVkaXVtLiBBbnkgY29tYmluYXRpb24gaXMgcG9zc2libGUsIGFzIGxvbmcgYXMgaXQgYWRkcyB1cCB0byAxMDBcbiAgICAkZm9vdGVyLXByaW1hcnktY29sdW1uLXdpZHRoLTE6IDEqLjIwO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2x1bW4td2lkdGgtMjogMSouNDA7XG4gICAgJGZvb3Rlci1wcmltYXJ5LWNvbHVtbi13aWR0aC0zOiAxKi4yMDtcbiAgICAkZm9vdGVyLXByaW1hcnktY29sdW1uLXdpZHRoLTQ6IDEqLjIwO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtaGlkZS1jb2x1bW4tMTogdHJ1ZTtcbiAgICAkZm9vdGVyLXByaW1hcnktY29sbGFwc2VkLWhpZGUtY29sdW1uLTI6IGZhbHNlO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtaGlkZS1jb2x1bW4tMzogdHJ1ZTtcbiAgICAkZm9vdGVyLXByaW1hcnktY29sbGFwc2VkLWhpZGUtY29sdW1uLTQ6IGZhbHNlO1xuICAgICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtYWxpZ24tY2VudGVyOiB0cnVlO1xuICAgIFxuICAgIC8vIHNlY29uZGFyeSBjb250YWluZXJcbiAgICAkZm9vdGVyLXNlY29uZGFyeS1lbmFibGVkOiB0cnVlO1xuICAgICRmb290ZXItc2Vjb25kYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGJyYW5kLXdoaXRlLCAuMSk7XG4gICAgJGZvb3Rlci1zZWNvbmRhcnktcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAvIDIgJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgJGZvb3Rlci1zZWNvbmRhcnktY29sb3I6IHJnYmEoJGJyYW5kLXdoaXRlLCAuNSk7XG4gICAgJGZvb3Rlci1zZWNvbmRhcnktbGluay1jb2xvcjogcmdiYSgkYnJhbmQtd2hpdGUsIC41KTtcbiAgICAkZm9vdGVyLXNlY29uZGFyeS1saW5rLWhvdmVyLWNvbG9yOiByZ2JhKCRicmFuZC13aGl0ZSwgLjkpO1xuICAgICRmb290ZXItc2Vjb25kYXJ5LWNvbHVtbi0xLWVuYWJsZWQ6IHRydWU7XG4gICAgJGZvb3Rlci1zZWNvbmRhcnktY29sdW1uLTItZW5hYmxlZDogdHJ1ZTtcbiAgICAkZm9vdGVyLXNlY29uZGFyeS1jb2x1bW4td2lkdGgtMTogMSouNTtcbiAgICAkZm9vdGVyLXNlY29uZGFyeS1jb2x1bW4td2lkdGgtMjogMSouNTtcbiAgICAkZm9vdGVyLXNlY29uZGFyeS1jb2x1bW4tMS1qdXN0aWZ5OiBmbGV4LXN0YXJ0O1xuICAgICRmb290ZXItc2Vjb25kYXJ5LWNvbHVtbi0yLWp1c3RpZnk6IGZsZXgtZW5kO1xuICAgICRmb290ZXItc2Vjb25kYXJ5LWNvbGxhcHNlZC1hbGlnbi1jZW50ZXI6IHRydWU7XG4gICAgXG4gICAgLy8gc29jaWFsc1xuICAgICRmb290ZXItc29jaWFscy1pY29uLWJhY2tncm91bmQ6ICRicmFuZC10ZXJ0aWFyeS1kYXJrZXI7XG4gICAgJGZvb3Rlci1zb2NpYWxzLWljb24taG92ZXItYmFja2dyb3VuZDogJGJyYW5kLXdoaXRlO1xuICAgICRmb290ZXItc29jaWFscy1pY29uLWNvbG9yOiAkYnJhbmQtd2hpdGU7XG4gICAgJGZvb3Rlci1zb2NpYWxzLWljb24taG92ZXItY29sb3I6ICRicmFuZC10ZXJ0aWFyeS1kYXJrZXI7XG4gICAgXG5cbiAgICBAaW1wb3J0ICcuLi9hY19mX19mb290ZXItZ2xvYmFscy9fX2Zvb3Rlcl9nbG9iYWxzJztcblxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgXG4gICAgLy8gZ2xvYmFsc1xuICAgIEBpZiAkZm9vdGVyLWJhY2tncm91bmQgIT0gdHJhbnNwYXJlbnQgb3IgJGZvb3Rlci1iYWNrZ3JvdW5kICE9IG5vbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgLy8gZml4ZWQgdG9wdGFza3Mgc3BhY2VyIGZpeFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgfVxuICAgIFxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNjAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cblxuICAgIC8vXG4gICAgLy8gICAgICBDT0xVTU5cbiAgICAvL1xuXG4gICAgLy8gbWFyZ2luIGZpeCBmb3IgbmV3cyBpdGVtcywgaWYgaW4gc2Vjb25kIGNvbHVtblxuICAgIC5hY19mb290ZXJfY29sdW1uIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgLmFjX2Zvb3Rlcl9saW5rIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vXG4gICAgLy8gICAgICBQUklNQVJZXG4gICAgLy9cblxuICAgIC5hY19mb290ZXJfcHJpbWFyeV9saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5hY19mb290ZXJfcHJpbWFyeV9saW5rX2NvcHlfYWJvdmUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuXG4gICAgLy9cbiAgICAvLyAgICAgIFNFQ09OREFSWVxuICAgIC8vXG4gICAgLmFjX2Zvb3Rlcl9zZWNvbmRhcnkge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICB9XG4gICAgLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuXG59IC8vIGVuZCBvZiBzY29wZVxuXG4iLCJcbi8qICBGT09URVIgMSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5cbi8vXG4vLyAgICAgUFJJTUFSWVxuLy9cblxuQGlmICRmb290ZXItcHJpbWFyeS1lbmFibGVkID09IHRydWUge1xuICAgIC5hY19mb290ZXJfcHJpbWFyeSB7XG4gICAgICAgIEBpZiAkZm9vdGVyLXByaW1hcnktYmFja2dyb3VuZCAhPSB0cmFuc3BhcmVudCBvciAkZm9vdGVyLXByaW1hcnktYmFja2dyb3VuZCAhPSBub25lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXItcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICAgICoge1xuICAgICAgICAgICAgY29sb3I6ICRmb290ZXItcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY19mb290ZXJfcHJpbWFyeV9jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItY29udGVudC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICAkZm9vdGVyLXByaW1hcnktcGFkZGluZztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY19mb290ZXJfcHJpbWFyeV9jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIEBpZiAkZm9vdGVyLXByaW1hcnktY29sdW1uLTEtZW5hYmxlZCA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfUBpZiAkZm9vdGVyLXByaW1hcnktY29sdW1uLTItZW5hYmxlZCA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJGZvb3Rlci1wcmltYXJ5LWNvbHVtbi0zLWVuYWJsZWQgPT0gZmFsc2Uge1xuICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRmb290ZXItcHJpbWFyeS1jb2x1bW4tNC1lbmFibGVkID09IGZhbHNlIHtcbiAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZmF1bHQtcGFkZGluZyAqIDI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoJGZvb3Rlci1wcmltYXJ5LWNvbHVtbi13aWR0aC0xKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGZvb3Rlci1wcmltYXJ5LWNvbHVtbi13aWR0aC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgcGVyY2VudGFnZSgkZm9vdGVyLXByaW1hcnktY29sdW1uLXdpZHRoLTIpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkZm9vdGVyLXByaW1hcnktY29sdW1uLXdpZHRoLTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKCRmb290ZXItcHJpbWFyeS1jb2x1bW4td2lkdGgtMyk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRmb290ZXItcHJpbWFyeS1jb2x1bW4td2lkdGgtMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoJGZvb3Rlci1wcmltYXJ5LWNvbHVtbi13aWR0aC00KTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGZvb3Rlci1wcmltYXJ5LWNvbHVtbi13aWR0aC00KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkZm9vdGVyLXByaW1hcnktY29sbGFwc2VkLWFsaWduLWNlbnRlciA9PSB0cnVlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcblxuICAgICAgICAgICAgQGlmICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtaGlkZS1jb2x1bW4tMSA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtaGlkZS1jb2x1bW4tMiA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtaGlkZS1jb2x1bW4tMyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRmb290ZXItcHJpbWFyeS1jb2xsYXBzZWQtaGlkZS1jb2x1bW4tNCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5hY19mb290ZXJfcHJpbWFyeV9saW5rIHtcbiAgICAgICAgY29sb3I6ICRmb290ZXItcHJpbWFyeS1saW5rLWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXByaW1hcnktbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIC5hY19mb290ZXJfcHJpbWFyeSB7IFxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgIFNFQ09OREFSWVxuLy9cblxuQGlmICRmb290ZXItc2Vjb25kYXJ5LWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgLmFjX2Zvb3Rlcl9zZWNvbmRhcnkge1xuICAgICAgICBAaWYgJGZvb3Rlci1zZWNvbmRhcnktYmFja2dyb3VuZCAhPSB0cmFuc3BhcmVudCBvciAkZm9vdGVyLXNlY29uZGFyeS1iYWNrZ3JvdW5kICE9IG5vbmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGZvb3Rlci1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWNfZm9vdGVyX3NlY29uZGFyeV9jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItY29udGVudC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICAkZm9vdGVyLXNlY29uZGFyeS1wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfY29sdW1uIHtcbiAgICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIFxuICAgICAgICBAaWYgJGZvb3Rlci1zZWNvbmRhcnktY29sdW1uLTEtZW5hYmxlZCA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfUBpZiAkZm9vdGVyLXNlY29uZGFyeS1jb2x1bW4tMi1lbmFibGVkID09IGZhbHNlIHtcbiAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKCRmb290ZXItc2Vjb25kYXJ5LWNvbHVtbi13aWR0aC0xKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGZvb3Rlci1zZWNvbmRhcnktY29sdW1uLXdpZHRoLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKCRmb290ZXItc2Vjb25kYXJ5LWNvbHVtbi13aWR0aC0yKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGZvb3Rlci1zZWNvbmRhcnktY29sdW1uLXdpZHRoLTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRmb290ZXItc2Vjb25kYXJ5LWNvbGxhcHNlZC1hbGlnbi1jZW50ZXIgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfbGluaywgXG4gICAgICAgICAgICAgICAgLmFjX2Zvb3Rlcl9zZWNvbmRhcnlfdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAuYWNfZm9vdGVyX3NlY29uZGFyeV9saW5rLCBcbiAgICAgICAgICAgIC5hY19mb290ZXJfc2Vjb25kYXJ5X3RleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNlY29uZGFyeS1jb2x1bW4tMS1qdXN0aWZ5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zZWNvbmRhcnktY29sdW1uLTItanVzdGlmeTtcbiAgICAgICAgICAgICAgICAuYWNfZm9vdGVyX3NlY29uZGFyeV9saW5rLCBcbiAgICAgICAgICAgICAgICAuYWNfZm9vdGVyX3NlY29uZGFyeV90ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgIC5hY19mb290ZXJfc2Vjb25kYXJ5X3RleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAuYWNfZm9vdGVyX3NlY29uZGFyeV9saW5rIHtcbiAgICAgICAgY29sb3I6ICRmb290ZXItc2Vjb25kYXJ5LWxpbmstY29sb3I7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc2Vjb25kYXJ5LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59IEBlbHNlIHtcbiAgICAuYWNfZm9vdGVyX3NlY29uZGFyeSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgU09DSUFMU1xuLy9cblxuQGlmICRmb290ZXItc2Vjb25kYXJ5LWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgQGlmICRmb290ZXItc2Vjb25kYXJ5LWNvbGxhcHNlZC1hbGlnbi1jZW50ZXIgPT0gdHJ1ZSB7XG4gICAgICAgIC5hY19zb2NpYWxzIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgLmFjX3NvY2lhbHMge1xuICAgICAgICAgICAgbWFyZ2luOiAkZGVmYXVsdC1wYWRkaW5nIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNfc29jaWFsc19saW5rX2ljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyLXNvY2lhbHMtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZmlsbDogICRmb290ZXItc29jaWFscy1pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXItc29jaWFscy1pY29uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogICRmb290ZXItc29jaWFscy1pY29uLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJcbi8qIFNFQ1RJT04gLSBNRU5VIDJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGZvciBtZW51cyB3ZSB1c2UgYSBnbG9iYWwgc2NvcGUsIHNvIHdlIGNhbiBhZGRyZXNzIHRoZSBib2R5IGFzd2VsbFxuXG4qL1xuXG5cbiRhYy1tZW51LTItdHJhbnNwYXJlbnQ6IGZhbHNlOyBcbiRhYy1tZW51LTItdHJhbnNwYXJlbnQtb24taG9tZTogZmFsc2U7XG4kYWMtbWVudS0yLXotaW5kZXg6IDIyMjI7XG4kYWMtbWVudS0yLWJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4kYWMtbWVudS0yLWdyYWRpZW50LWJlZm9yZTogZmFsc2U7XG4kYWMtbWVudS0yLWdyYWRpZW50LWJlZm9yZS1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuJGFjLW1lbnUtMi1sb2dvLXdpZHRoOiAxNDBweDsgLy8gaGVpZ2h0IGZvciBtZWRpdW0gdXAuIFxuJGFjLW1lbnUtMi1jb250ZW50LXdpZHRoOiAxMDAwcHg7XG5cbiRhYy1tZW51LTItYmFyLXRvcC1lbmFibGVkOiB0cnVlO1xuJGFjLW1lbnUtMi1iYXItdG9wLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiRhYy1tZW51LTItYmFyLXRvcC1iYWNrZ3JvdW5kOiAkYnJhbmQtbGlnaHQtZ3JheTtcblxuJGFjLW1lbnUtMi1tYWluLWJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4kYWMtbWVudS0yLW1haW4tY29udGVudC1zZWNvbmRhcnktbWVudS1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLCAuNSk7XG5cbiRhYy1tZW51LTItYmFyLWJvdHRvbS1lbmFibGVkOiB0cnVlO1xuJGFjLW1lbnUtMi1iYXItYm90dG9tLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiRhYy1tZW51LTItYmFyLWJvdHRvbS1iYWNrZ3JvdW5kOiAkYnJhbmQtbGlnaHQtZ3JheTtcblxuLy9zb2NpYWxzIGljb25cbiRhYy1tZW51LTItc29jaWFscy1pY29uLWJhY2tncm91bmQ6ICRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQ7XG4kYWMtbWVudS0yLXNvY2lhbHMtaWNvbi1ob3Zlci1iYWNrZ3JvdW5kOiAkZGVmYXVsdC1pY29uLWNvbG9yLWRhcms7XG4kYWMtbWVudS0yLXNvY2lhbHMtaWNvbi1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvci1kYXJrO1xuJGFjLW1lbnUtMi1zb2NpYWxzLWljb24taG92ZXItY29sb3I6ICRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQ7XG5cbi8vIG1vYmlsZVxuJGFjLW1lbnUtMi1tb2JpbGUtZml4ZWQ6IHRydWU7ICBcbiRhYy1tZW51LTItbW9iaWxlLWhlaWdodDogNzBweDtcbiRhYy1tZW51LTItbW9iaWxlLXBhZGRpbmc6IDEwcHg7XG4kYWMtbWVudS0yLW1vYmlsZS1zdmctc2l6ZTogMjVweDtcbiRhYy1tZW51LTItbW9iaWxlLXN2Zy1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvci1kYXJrO1xuXG4vLyBvdmVybGF5XG4kYWMtbWVudS0yLW92ZXJsYXktY29udGFpbmVyLWJhY2tncm91bmQ6ICRicmFuZC1saWdodGVzdC1ncmF5O1xuJGFjLW1lbnUtMi1vdmVybGF5LW1lbnUtcHJpbWFyeS1ib3JkZXI6ICRkZWZhdWx0LWJvcmRlcjtcbiRhYy1tZW51LTItb3ZlcmxheS1tZW51LXByaW1hcnktdGV4dC1hbGlnbjogY2VudGVyOyAvLyBsZWZ0IG9yIGNlbnRlclxuJGFjLW1lbnUtMi1vdmVybGF5LW1lbnUtc2Vjb25kYXJ5LWJvcmRlcjogbm9uZTsgLy8gJGRlZmF1bHQtYm9yZGVyO1xuJGFjLW1lbnUtMi1vdmVybGF5LW1lbnUtc2Vjb25kYXJ5LXRleHQtYWxpZ246IGNlbnRlcjsgLy8gbGVmdCBvciBjZW50ZXJcblxuLy8gb3ZlcmxheSBiYWNrZ3JvdW5kXG4kYWMtbWVudS0yLW92ZXJsYXktYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcmssIC44KTtcblxuQGltcG9ydCAnX19tZW51XzJfZ2xvYmFscyc7XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIHtcblxufVxuXG4iLCJcbi8qIE1FTlUgMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5bZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0ge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRhYy1tZW51LTItYmFja2dyb3VuZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6ICRhYy1tZW51LTItei1pbmRleDtcbiAgICAgICAgQGlmICRhYy1tZW51LTItbW9iaWxlLWZpeGVkID09IHRydWUge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94LXNoYWRvdztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjLW1lbnUtMi1ncmFkaWVudC1iZWZvcmUgPT0gdHJ1ZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgkYWMtbWVudS0yLWdyYWRpZW50LWJlZm9yZS1jb2xvciwgMCksIHJnYmEoJGFjLW1lbnUtMi1ncmFkaWVudC1iZWZvcmUtY29sb3IsIDEpKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpZiAkYWMtbWVudS0yLXRyYW5zcGFyZW50ID09IHRydWUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAkYWMtbWVudS0yLXotaW5kZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLm1lbnUuZHJvcGRvd24ge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgJi52X2hhcy1pdGVtcy1yaWdodHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IC40ZW0gMDtcbiAgICAgICAgbGkuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICYgKyAubWFpbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGFjLW1lbnUtMi1tb2JpbGUtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweFxuICAgIH1cbn1cblxuXG5cbi8vXG4vLyAgICAgTUVOVSBDVEFcbi8vXG5cblxuLmFjX21lbnUtMl9jdGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hY19tZW51LTJfY3RhX3RleHQge1xufVxuLmFjX21lbnUtMl9jdGFfbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMS42ZW07XG4gICAgICAgIGhlaWdodDogMS42ZW07XG4gICAgfVxufVxuXG4vL1xuLy8gICAgIE1FTlUgRElWREVSXG4vL1xuXG4uYWNfbWVudS0yX2RpdmlkZXJfYWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWRhcmssIC4xKTtcbiAgICB9XG59XG4uYWNfbWVudS0yX2RpdmlkZXJfYmVmb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogc29saWQgMXB4IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1kYXJrLCAuMSk7XG4gICAgfVxufVxuXG4vL1xuLy8gICAgICBTVElDS1lcbi8vXG5cbi8vIC5hY19tZW51LTJfdW5zdGlja3lfY29udGFpbmVyIHtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBoZWlnaHQ6IDJweDtcbi8vIH1cbi5hY19tZW51LTJfc3RpY2t5X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4zcyBlYXNlO1xufVxuLmFjX21lbnUtMl9zdGlja3kge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICAkYWMtbWVudS0yLXotaW5kZXggLSAxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7XG4gICAgXG4gICAgJi5pcy1zdHVjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhYy1tZW51LTItYmFja2dyb3VuZDtcbiAgICAgICAgei1pbmRleDogICRhYy1tZW51LTItei1pbmRleDtcbiAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94LXNoYWRvdztcblxuICAgICAgICAvL2FuaW1hdGUgZWxlbWVudHMgb24gc3R1Y2tcbiAgICAgICAgLmFjX21lbnUtMl9sb2dvX2ltZyB7XG4gICAgICAgICAgICB3aWR0aDogJGFjLW1lbnUtMi1sb2dvLXdpZHRoICogLjc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgIExPR09cbi8vXG5cbi5hY19tZW51LTJfbG9nb19jb250YWluZXIge1xuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDAgMCAkYWMtbWVudS0yLWxvZ28td2lkdGg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtcGFkZGluZztcbiAgICB9XG59XG5hLmFjX21lbnUtMl9sb2dvX2xpbmsge1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICAgIG1hcmdpbjogMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxufVxuLmFjX21lbnUtMl9sb2dvX2ltZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgZG93bikge1xuICAgICAgICBoZWlnaHQ6ICRhYy1tZW51LTItbW9iaWxlLWhlaWdodCAtICggJGFjLW1lbnUtMi1tb2JpbGUtcGFkZGluZyAqIDIpO1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICB9XG4gICAgd2lkdGg6ICRhYy1tZW51LTItbG9nby13aWR0aDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuM3MgZWFzZTtcbn1cblxuXG5cbi8vXG4vLyAgICAgQkFSIFRPUFxuLy9cbi5hY19tZW51LTJfYmFyX3RvcCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaWYgJGFjLW1lbnUtMi1iYXItdG9wLWVuYWJsZWQgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbkBpZiAkYWMtbWVudS0yLWJhci10b3AtZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAuYWNfbWVudS0yX2Jhcl90b3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAvIDIgICRkZWZhdWx0LXBhZGRpbmc7O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6ICRhYy1tZW51LTItei1pbmRleCArIDE7XG4gICAgICAgIEBpZiAkYWMtbWVudS0yLXRyYW5zcGFyZW50ID09IGZhbHNlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhYy1tZW51LTItYmFyLXRvcC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hY19tZW51LTJfYmFyX3RvcF9jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgIG1heC13aWR0aDogJGFjLW1lbnUtMi1jb250ZW50LXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkYWMtbWVudS0yLWJhci10b3AtanVzdGlmeS1jb250ZW50O1xuICAgIH1cbiAgICAuYWNfbWVudS0yX2Jhcl90b3BfY29udGVudCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgICBNQUlOXG4vL1xuXG4uYWNfbWVudS0yX21haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHotaW5kZXg6ICRhYy1tZW51LTItei1pbmRleDtcbiAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgbWF4LXdpZHRoOiAkYWMtbWVudS0yLWNvbnRlbnQtd2lkdGg7XG4gICAgXG4gICAgQGlmICRhYy1tZW51LTItdHJhbnNwYXJlbnQgPT0gZmFsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWMtbWVudS0yLW1haW4tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKSB7XG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgIH1cbn1cbi5hY19tZW51LTJfbWFpbl9jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UsIHZpc2liaWxpdHkgMHMgLjZzO1xuICAgIH1cbn1cbi5hY19tZW51LTJfbWFpbl9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vXG4vLyAgICAgQkFSIEJPVFRPTVxuLy9cbi5hY19tZW51LTJfYmFyX2JvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGlmICRhYy1tZW51LTItYmFyLWJvdHRvbS1lbmFibGVkID09IGZhbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5AaWYgJGFjLW1lbnUtMi1iYXItYm90dG9tLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgLmFjX21lbnUtMl9iYXJfYm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgLyAyICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogJGFjLW1lbnUtMi16LWluZGV4ICsgMTtcbiAgICAgICAgQGlmICRhYy1tZW51LTItdHJhbnNwYXJlbnQgPT0gZmFsc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjLW1lbnUtMi1iYXItYm90dG9tLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjX21lbnUtMl9iYXJfYm90dG9tX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgbWF4LXdpZHRoOiAkYWMtbWVudS0yLWNvbnRlbnQtd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRhYy1tZW51LTItYmFyLWJvdHRvbS1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgfVxuICAgIC5hY19tZW51LTJfYmFyX2JvdHRvbV9jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgQlROIFNFQVJDSFxuLy9cblxuLmFjX21lbnUtMl9idG4tc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxLjZlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjZlbTtcbiAgICB9XG59XG5cbi8vXG4vLyAgICAgTU9CSUxFIENPTlRFTlRcbi8vXG5cbi5hY19tZW51LTJfbW9iaWxlX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5hY19tZW51LTJfbW9iaWxlX2NvbnRlbnRfZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBtYXJnaW46IDAgMWVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1kYXJrLCAuMSk7XG59XG5cblxuXG4vL1xuLy8gICAgIE1PQklMRSBCVVRUT05TXG4vL1xuXG4uYWNfbWVudS0yX21vYmlsZV9idG4ge1xuXHRoZWlnaHQ6ICRhYy1tZW51LTItbW9iaWxlLWhlaWdodCAtICgkYWMtbWVudS0yLW1vYmlsZS1wYWRkaW5nICogMik7XG4gICAgd2lkdGg6ICRhYy1tZW51LTItbW9iaWxlLXN2Zy1zaXplICsgJGFjLW1lbnUtMi1tb2JpbGUtc3ZnLXNpemU7XG4gICAgcGFkZGluZzogKCgkYWMtbWVudS0yLW1vYmlsZS1oZWlnaHQgLSAoJGFjLW1lbnUtMi1tb2JpbGUtcGFkZGluZyAqIDIpIC0gJGFjLW1lbnUtMi1tb2JpbGUtc3ZnLXNpemUpIC8gMikgJGFjLW1lbnUtMi1tb2JpbGUtc3ZnLXNpemUgLyAyO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6ICRhYy1tZW51LTItbW9iaWxlLXN2Zy1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJGFjLW1lbnUtMi1tb2JpbGUtc3ZnLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZmlsbDogJGFjLW1lbnUtMi1tb2JpbGUtc3ZnLWNvbG9yO1xuICAgIH1cblxufVxuXG5cbi8vXG4vLyAgICAgSEFNQlVSR0VSIElDT05cbi8vXG5cbi5hY19tZW51LTJfbW9iaWxlX2J0bi1oYW1idXJnZXIge1xuICAgIGhlaWdodDogJGFjLW1lbnUtMi1tb2JpbGUtaGVpZ2h0IC0gKCRhYy1tZW51LTItbW9iaWxlLXBhZGRpbmcgKiAyKTtcbiAgICB3aWR0aDogJGFjLW1lbnUtMi1tb2JpbGUtc3ZnLXNpemUgKyAkYWMtbWVudS0yLW1vYmlsZS1zdmctc2l6ZTtcbiAgICBwYWRkaW5nOiAxMnB4ICRhYy1tZW51LTItbW9iaWxlLXBhZGRpbmc7IC8vIHBhZGRpbmcgaXMgbWFudWFsXG5cblx0LmJ1cmdlci1pY29uIHtcblx0XHRAaW5jbHVkZSBidXJnZXIoMjVweCwgMnB4LCA0cHgsICRkZWZhdWx0LWljb24tY29sb3IpOyAvLyB3aWR0aCBpcyBtYW51YWxcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuYm9keS5zX2lzLW9wZW5fbWVudS1tb2JpbGUge1xuICAgIC5idXJnZXItaWNvbiB7XG5cdFx0QGluY2x1ZGUgYnVyZ2VyLXRvLWNyb3NzO1xuXHR9XG59XG5cblxuXG4vL1xuLy8gICAgIE9WRVJMQVkgXG4vL1xuXG4uYWNfbWVudS0yX292ZXJsYXlfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogJGFjLW1lbnUtMi16LWluZGV4IC0gMTtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYWMtbWVudS0yLW92ZXJsYXktY29udGFpbmVyLWJhY2tncm91bmQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gICAgcGFkZGluZy10b3A6ICRhYy1tZW51LTItbW9iaWxlLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogOTB2dztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbiAgICBcbn1cbi5hY19tZW51LTJfb3ZlcmxheV9zY3JvbGxfY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4uYWNfbWVudS0yX292ZXJsYXlfc2Nyb2xsX2NvbnRhaW5lcl9pbm5lciB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG59XG4uYWNfbWVudS0yX292ZXJsYXlfbWVudV9jb250YWluZXIge1xuICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG59XG51bC5hY19tZW51LTJfb3ZlcmxheV9tZW51X3ByaW1hcnkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIEBpZiAkYWMtbWVudS0yLW92ZXJsYXktbWVudS1wcmltYXJ5LWJvcmRlciAhPSBub25lIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjLW1lbnUtMi1vdmVybGF5LW1lbnUtcHJpbWFyeS1ib3JkZXI7XG4gICAgfVxuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRhYy1tZW51LTItb3ZlcmxheS1tZW51LXByaW1hcnktdGV4dC1hbGlnbjtcbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgICAgQGlmICRhYy1tZW51LTItb3ZlcmxheS1tZW51LXByaW1hcnktYm9yZGVyICE9IG5vbmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjLW1lbnUtMi1vdmVybGF5LW1lbnUtcHJpbWFyeS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgLyAyIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAvIDQgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwuYWNfbWVudS0yX292ZXJsYXlfbWVudV9zZWNvbmRhcnkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIEBpZiAkYWMtbWVudS0yLW92ZXJsYXktbWVudS1zZWNvbmRhcnktYm9yZGVyICE9IG5vbmUge1xuICAgICAgICBib3JkZXItdG9wOiAkYWMtbWVudS0yLW92ZXJsYXktbWVudS1zZWNvbmRhcnktYm9yZGVyO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpZiAkYWMtbWVudS0yLW92ZXJsYXktbWVudS1zZWNvbmRhcnktYm9yZGVyICE9IG5vbmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjLW1lbnUtMi1vdmVybGF5LW1lbnUtc2Vjb25kYXJ5LWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0LWFsaWduOiAkYWMtbWVudS0yLW92ZXJsYXktbWVudS1zZWNvbmRhcnktdGV4dC1hbGlnbjtcbiAgICAgICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAvIDQgMDtcbiAgICB9XG59XG5cblxuYm9keS5zX2lzLW9wZW5fbWVudS1tb2JpbGUge1xuICAgIC5hY19tZW51LTJfb3ZlcmxheV9jb250YWluZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vXG4vLyAgICAgT1ZFUkxBWSBCQUNLRFJPUFxuLy9cblxuXG4uYWNfbWVudS0yX292ZXJsYXlfYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGFjLW1lbnUtMi1vdmVybGF5LWJhY2tkcm9wLWJhY2tncm91bmQ7XG4gICAgei1pbmRleDogJGFjLW1lbnUtMi16LWluZGV4IC0gMjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlIC4zcywgaGVpZ2h0IDBzIC42cztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuYm9keS5zX2lzLW9wZW5fbWVudS1tb2JpbGUge1xuICAgIC5hY19tZW51LTJfb3ZlcmxheV9iYWNrZHJvcCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDBzLCBvcGFjaXR5IC4zcyBlYXNlO1xuICAgIH1cbn1cblxuXG5cbi8vXG4vLyAgICAgU0VBUkNIXG4vL1xuXG5cbi5hY19tZW51LTJfc2VhcmNoX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlOyBcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0yZW0pO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0IGRvd24pIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAxZW07XG4gICAgfVxufVxuYm9keS5JRTEwIHtcbiAgICAuYWNfbWVudS0yX3NlYXJjaF9jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmFjX21lbnUtMl9zZWFyY2hfaW5wdXQge1xuICAgIG1hcmdpbjogMDtcbn1cbi5hY19tZW51LTJfc2VhcmNoX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC43ZW07XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgcGFkZGluZzogLjdlbTtcbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMS42ZW07XG4gICAgICAgIGhlaWdodDogMS42ZW07XG4gICAgICAgIGZpbGw6ICRhYy1tZW51LTItbW9iaWxlLXN2Zy1jb2xvcjtcbiAgICB9XG59XG5cbmJvZHkuc19pcy1vcGVuX21lbnUtc2VhcmNoIHtcbiAgICAmLklFMTAgeyBcbiAgICAgICAgLmFjX21lbnUtMl9zZWFyY2hfY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hY19tZW51LTJfc2VhcmNoX2NvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQgZG93bikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy9cbi8vICAgICBTT0NJQUxTXG4vL1xuXG5cbi5hY19zb2NpYWxzX2xpbmtfaWNvbiB7XG4gICAgYmFja2dyb3VuZDogJGFjLW1lbnUtMi1zb2NpYWxzLWljb24tYmFja2dyb3VuZDtcbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAgJGFjLW1lbnUtMi1zb2NpYWxzLWljb24tY29sb3I7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWMtbWVudS0yLXNvY2lhbHMtaWNvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYWMtbWVudS0yLXNvY2lhbHMtaWNvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBCdXJnZXIgcGFydHNcbi8vXG4vLyAoLS0tKSB0b3AgICAgLT4gJjo6YmVmb3JlXG4vLyBbLS0tXSBtaWRkbGUgLT4gJlxuLy8gKC0tLSkgYm90dG9tIC0+ICY6OmFmdGVyXG5cblxuLy8gVmVuZG9yIHByZWZpeGVzXG4kc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQnVyZ2VyXG5AbWl4aW4gYnVyZ2VyKCR3aWR0aDogMzBweCwgJGhlaWdodDogNXB4LCAkZ3V0dGVyOiAzcHgsICRjb2xvcjogIzAwMCwgJGJvcmRlci1yYWRpdXM6IDAsICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MpIHtcbiAgICAkYnVyZ2VyLWhlaWdodDogJGhlaWdodCAhZ2xvYmFsO1xuICAgICRidXJnZXItZ3V0dGVyOiAkZ3V0dGVyICFnbG9iYWw7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogJGhlaWdodCArICRndXR0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlaWdodCArICRndXR0ZXI7XG5cbiAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgQGlmICRib3JkZXItcmFkaXVzICE9IDAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW1vei10cmFuc2Zvcm07XG4gICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtby10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtKCRoZWlnaHQgKyAkZ3V0dGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogJGhlaWdodCArICRndXR0ZXI7XG4gICAgfVxufVxuXG5cbi8vIFNlbGVjdCBwYXJ0cyBvZiB0aGUgYnVyZ2VyXG5AbWl4aW4gYnVyZ2VyLXBhcnRzIHtcbiAgICAmLCAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLXRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLW1pZGRsZSB7XG4gICAgJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJ1cmdlci1ib3R0b20ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5cbi8vIEJ1cmdlciBhbmltYXRpb25zXG5AbWl4aW4gYnVyZ2VyLXRvLWNyb3NzKCRjb2xvcjogYXV0bykge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICgkY29sb3IgIT0gYXV0bykge1xuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn0iLCJcbi8qIEJSQU5EUyAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gaXRlbXNcbiRhYy1icmFuZHMtaXRlbXMtc2xpZGVyOiBmYWxzZTtcbiRhYy1icmFuZHMtaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0OiAxMDBweDtcbiRhYy1icmFuZHMtaXRlbXMtaGF2ZS1wYWRkaW5nOiB0cnVlO1xuJGFjLWJyYW5kcy1pdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVyczogdHJ1ZTtcbiRhYy1icmFuZHMtaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93OiB0cnVlOyAvLyBpZiB0cnVlIHR3byBpdGVtcyBwZXIgcm93IG9uIHNtYWxsLCBlbHNlIG9uZSBpdGVtXG5cbi8vIGl0ZW1cbiRhYy1icmFuZHMtaXRlbS1tYXJnaW4tYm90dG9tOiAxLjRlbTsgLy8gMS40ZW1cbiRhYy1icmFuZHMtaXRlbS1jb250YWluZXItcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAwO1xuJGFjLWJyYW5kcy1pdGVtLWNvbnRlbnQtcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZzsgXG4kYWMtYnJhbmRzLWl0ZW0tY29udGVudC1iYWNrZ3JvdW5kOiBub25lO1xuJGFjLWJyYW5kcy1pdGVtLWJvcmRlcjogJGRlZmF1bHQtYm9yZGVyOyAvLyBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlLCBub3QgdGhlIGRpc3BsYXlcbiRhYy1icmFuZHMtaXRlbS1zaGFkb3c6IGZhbHNlOyBcblxuLy8gZGVzY3JpcHRpb25cbiRhYy1icmFuZHMtaXRlbXMtZGVzY3JpcHRpb24tZW5hYmxlOiBmYWxzZTtcbiRhYy1icmFuZHMtaXRlbXMtZGVzY3JpcHRpb24tY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1kYXJrLC42KTtcbiRhYy1icmFuZHMtaXRlbXMtZGVzY3JpcHRpb24taG92ZXItY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3ItZGFyaztcblxuLy8gbG9nb1xuJGFjLWJyYW5kcy1pdGVtLWxvZ28tbWFyZ2luLWJvdHRvbTogLjZlbTsgLy8gMS40ZW1cbiRhYy1icmFuZHMtaXRlbS1sb2dvLWhlaWdodDogMTAwcHg7IFxuJGFjLWJyYW5kcy1pdGVtLWxvZ28tbWF4LXdpZHRoOiAyMDBweDtcbiRhYy1icmFuZHMtaXRlbS1sb2dvLWluaXRpYWwtb3BhY2l0eTogMTtcbiRhYy1icmFuZHMtaXRlbS1sb2dvLWhvdmVyLW9wYWNpdHk6IC42O1xuXG5cbkBpbXBvcnQgJ19fYnJhbmRzX2dsb2JhbHMnO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8iLCJcbi8qIEFDX1NfQlJBTkRTIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cblxuLy9cbi8vICAgICAgU0VDVElPTiBCUkFORFNcbi8vXG5cblxuW2RhdGEtcy10eXBlPVwiYnJhbmRzXCJdIHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nIDA7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMCAwICRkZWZhdWx0LXBhZGRpbmcgLyAyIDA7XG4gICAgfSAgIFxufVxuXG5cbi8vXG4vLyAgICAgIENPTlRBSU5FUlxuLy9cblxuLmFjX2JyYW5kc19jb250YWluZXJ7XG4gICAgLy8gbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTIwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDJlbSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGlmICRhYy1icmFuZHMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gZmFsc2UgYW5kICRhYy1icmFuZHMtaXRlbXMtaGF2ZS1wYWRkaW5nID09IHRydWUge1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgICBJVEVNXG4vL1xuXG4uYWNfYnJhbmRzX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogJGFjLWJyYW5kcy1pdGVtLW1hcmdpbi1ib3R0b207XG5cbiAgICBAaWYgJGFjLWJyYW5kcy1pdGVtcy1vbi1zbWFsbC10d28taXRlbXMtYS1yb3cgPT0gdHJ1ZSB7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkYWMtYnJhbmRzLWl0ZW1zLWhhdmUtcGFkZGluZyA9PSB0cnVlIHtcbiAgICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIEBpZiAkYWMtYnJhbmRzLWl0ZW1zLWhhdmUtYm9yZGVyLWRpdmlkZXJzID09IHRydWUge1xuICAgICAgICBAaWYgJGFjLWJyYW5kcy1pdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhYy1icmFuZHMtaXRlbS1ib3JkZXI7XG4gICAgICAgIFxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgJGFjLWJyYW5kcy1pdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgICAgICB9XG4gICAgfSAgIFxuXG4gICAgJi52X3NtYWxsZXItbG9nbyB7XG4gICAgICAgIC5hY19icmFuZHNfaXRlbV9sb2dvIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudl9sYXJnZXItbG9nbyB7XG4gICAgICAgIC5hY19icmFuZHNfaXRlbV9sb2dvIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAuYWNfYnJhbmRzX2l0ZW1fbG9nbyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGFjLWJyYW5kcy1pdGVtLWxvZ28taG92ZXItb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY19icmFuZHNfaXRlbV9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhYy1icmFuZHMtaXRlbXMtZGVzY3JpcHRpb24taG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgQGlmICRhYy1icmFuZHMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gdHJ1ZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsYXN0KDEpIHtcbiAgICAgICAgICAgICAgICAuYWNfYnJhbmRzX2l0ZW1fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG59XG5cbi5hY19icmFuZHNfaXRlbV9jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGFjLWJyYW5kcy1pdGVtLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkYWMtYnJhbmRzLWl0ZW0tY29udGFpbmVyLXBhZGRpbmc7XG5cbiAgICBAaWYgJGFjLWJyYW5kcy1pdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVycyA9PSB0cnVlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjLWJyYW5kcy1pdGVtLWJvcmRlcjtcbiAgICB9XG5cbiAgICBAaWYgJGFjLWJyYW5kcy1pdGVtLXNoYWRvdyA9PSB0cnVlIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94LXNoYWRvdztcbiAgICB9XG59XG5cblxuLy9cbi8vICAgICAgQk9SREVSIFJFU1BPTlNJVkVORVNTXG4vL1xuXG5cbltkYXRhLXMtdHlwZT1cImJyYW5kc1wiXSB7XG4gICAgQGlmICRhYy1icmFuZHMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gdHJ1ZSB7XG4gICAgICAgIFxuICAgICAgICBAaWYgJGFjLWJyYW5kcy1pdGVtcy1vbi1zbWFsbC10d28taXRlbXMtYS1yb3cgPT0gZmFsc2Uge1xuXG4gICAgICAgICAgICAvLyBib3JkZXItbGVmdFxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJlc3BvbnNpdmVuZXNzKCdTMScpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJlc3BvbnNpdmVuZXNzKCdTMS1NUDInKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yZXNwb25zaXZlbmVzcygnUzEtTVAyLU0zJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MxLU1QMi1NMy1MNCcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJlc3BvbnNpdmVuZXNzKCdTMS1NUDItTDUnKTtcblxuICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbVxuICAgICAgICAgICAgQGluY2x1ZGUgYm90dG9tLWl0ZW1zLW5vLWJvcmRlcignUzEtTVAyJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3R0b20taXRlbXMtbm8tYm9yZGVyKCdTMS1NUDItTDMnKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MxLU1QMi1MNCcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm90dG9tLWl0ZW1zLW5vLWJvcmRlcignUzEtTVAyLUw1Jyk7XG5cbiAgICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgICAgIC8vIGJvcmRlci1sZWZ0XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MyJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MyLU0zJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MyLUw0Jyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MyLUw1Jyk7XG5cbiAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b21cbiAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MyJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3R0b20taXRlbXMtbm8tYm9yZGVyKCdTMi1NMycpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm90dG9tLWl0ZW1zLW5vLWJvcmRlcignUzItTDQnKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MyLUw1Jyk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgIERFU0NSSVBUSU9OXG4vL1xuXG4uYWNfYnJhbmRzX2l0ZW1fZGVzY3JpcHRpb24ge1xuICAgIFxuICAgIEBpZiAkYWMtYnJhbmRzLWl0ZW1zLWRlc2NyaXB0aW9uLWVuYWJsZSA9PSB0cnVlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiA5NSU7XG4gICAgY29sb3I6ICRhYy1icmFuZHMtaXRlbXMtZGVzY3JpcHRpb24tY29sb3I7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cblxuLy9cbi8vICAgICAgTE9HT1xuLy9cblxuLmFjX2JyYW5kc19pdGVtX2xvZ29fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpZiAkYWMtYnJhbmRzLWl0ZW1zLW9uLXNtYWxsLXR3by1pdGVtcy1hLXJvdyA9PSBmYWxzZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTB2dztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG4uYWNfYnJhbmRzX2l0ZW1fbG9nbyB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDUwJSkgaHVlLXJvdGF0ZSgzMGRlZyk7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6ICRhYy1icmFuZHMtaXRlbS1sb2dvLWhlaWdodDtcbiAgICBtYXgtd2lkdGg6ICRhYy1icmFuZHMtaXRlbS1sb2dvLW1heC13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICBvcGFjaXR5OiAkYWMtYnJhbmRzLWl0ZW0tbG9nby1pbml0aWFsLW9wYWNpdHk7XG59XG5cblxuXG4vL1xuLy8gICAgICBTTElERVJcbi8vXG5cblxuQGlmICRhYy1icmFuZHMtaXRlbXMtc2xpZGVyID09IHRydWUge1xuICAgIC5hY19icmFuZHNfY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IGluaGVyaXQ7IC8vIHNsaWNrIHNsaWRlciB3aWxsIGhhbmRsZSB6LWluZGV4XG5cbiAgICAgICAgLy9zbGljayBmdW9jIGZpeFxuICAgICAgICBtYXgtaGVpZ2h0OiAkYWMtYnJhbmRzLWl0ZW1zLXNsaWRlci1mb3VjLWhlaWdodDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgICAgIC8vIGRyb3AgZm91YyBpZiBzbGljayBpcyBpbml0aWFsaXplZFxuICAgICAgICAmLnNsaWNrLWluaXRpYWxpemVkICB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgIC8vIGJlY2F1c2UgYWxsIGl0ZW1zIGFyZSBpbiBvbmUgbGluZSwgbWFyZ2luIG9uIHRoZSBib3R0b20gbWFrZSBubyBzZW5zZVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gb3ZlcnJ1bGUgYm9yZGVyIGxlZnQgYmVoYXZpb3VyXG4gICAgQGlmICRhYy1icmFuZHMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gdHJ1ZSB7XG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuc2xpY2stYWN0aXZlIH4gLnNsaWNrLWFjdGl2ZXtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkYWMtYnJhbmRzLWl0ZW0tYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiBhbW91bnQgb24gc21hbGwgPT0gMSwgd2UgY2FuIGhpZGUgdGhlIGJvcmRlciBhbGwgdG9nZXRoZXIuIFRoaXMgYWxzbyBwcmV2ZW50cyBjb250ZW50IGdyb3cgZmxpY2tlcnNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIlxuLyogUEFSVE5FUlMgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIGl0ZW1zXG4kYWMtcGFydG5lcnMtaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0OiAxMDBweDtcbiRhYy1wYXJ0bmVycy1pdGVtcy1oYXZlLXBhZGRpbmc6IHRydWU7XG4kYWMtcGFydG5lcnMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnM6IGZhbHNlO1xuJGFjLXBhcnRuZXJzLWl0ZW1zLW9uLXNtYWxsLXR3by1pdGVtcy1hLXJvdzogdHJ1ZTsgLy8gaWYgdHJ1ZSB0d28gaXRlbXMgcGVyIHJvdyBvbiBzbWFsbCwgZWxzZSBvbmUgaXRlbVxuXG4vLyBpdGVtXG4kYWMtcGFydG5lcnMtaXRlbS1tYXJnaW4tYm90dG9tOiAwOyAvLyAxLjRlbVxuJGFjLXBhcnRuZXJzLWl0ZW0tY29udGFpbmVyLXBhZGRpbmc6IDA7XG4kYWMtcGFydG5lcnMtaXRlbS1jb250ZW50LXBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7IFxuJGFjLXBhcnRuZXJzLWl0ZW0tY29udGVudC1iYWNrZ3JvdW5kOiBub25lO1xuJGFjLXBhcnRuZXJzLWl0ZW0tYm9yZGVyOiAkZGVmYXVsdC1ib3JkZXI7IC8vIGRlZmluZXMgdGhlIGFwcGVhcmFuY2UsIG5vdCB0aGUgZGlzcGxheVxuJGFjLXBhcnRuZXJzLWl0ZW0tc2hhZG93OiBmYWxzZTsgXG5cbi8vIGRlc2NyaXB0aW9uXG4kYWMtcGFydG5lcnMtaXRlbXMtZGVzY3JpcHRpb24tZW5hYmxlOiBmYWxzZTtcbiRhYy1wYXJ0bmVycy1pdGVtcy1kZXNjcmlwdGlvbi1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWRhcmssLjYpO1xuJGFjLXBhcnRuZXJzLWl0ZW1zLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG9yOiAkZGVmYXVsdC10ZXh0LWNvbG9yLWRhcms7XG5cbi8vIGxvZ29cbiRhYy1wYXJ0bmVycy1pdGVtLWxvZ28tbWFyZ2luLWJvdHRvbTogMDsgLy8gMS40ZW1cbiRhYy1wYXJ0bmVycy1pdGVtLWxvZ28taGVpZ2h0OiAxMDBweDsgXG4kYWMtcGFydG5lcnMtaXRlbS1sb2dvLW1heC13aWR0aDogMTQwcHg7XG4kYWMtcGFydG5lcnMtaXRlbS1sb2dvLWluaXRpYWwtb3BhY2l0eTogMTtcbiRhYy1wYXJ0bmVycy1pdGVtLWxvZ28taG92ZXItb3BhY2l0eTogLjY7XG5cblxuQGltcG9ydCAnX19wYXJ0bmVyc19nbG9iYWxzJztcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbltkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdIHtcbiAgICAuc2xpY2stdHJhY2t7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgIFxuICAgIH1cbn0iLCJcbi8qIEFDX1NfUEFSVE5FUlMgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuXG4vL1xuLy8gICAgICBTRUNUSU9OIFBBUlRORVJTXG4vL1xuXG5cbltkYXRhLXMtdHlwZT1cInBhcnRuZXJzXCJdIHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nIDA7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMCAwICRkZWZhdWx0LXBhZGRpbmcgLyAyIDA7XG4gICAgfSAgIFxuXG4gICAgJi52X2lzLXNsaWRlciB7XG4gICAgICAgICYudl9oYXMtZG90cyB7XG4gICAgICAgICAgICAuYWNfYnJhbmRzX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgICAgYm90dG9tOiAtNGVtO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy9cbi8vICAgICAgQ09OVEFJTkVSXG4vL1xuXG4uYWNfcGFydG5lcnNfY29udGFpbmVye1xuICAgIC8vIG1heC13aWR0aDogJG1heC1jb250ZW50LTEyMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAyZW0gYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpZiAkYWMtcGFydG5lcnMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gZmFsc2UgYW5kICRhYy1wYXJ0bmVycy1pdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgIElURU1cbi8vXG5cbi5hY19wYXJ0bmVyc19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206ICRhYy1wYXJ0bmVycy1pdGVtLW1hcmdpbi1ib3R0b207XG5cbiAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW1zLW9uLXNtYWxsLXR3by1pdGVtcy1hLXJvdyA9PSB0cnVlIHtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8yKTtcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRhYy1wYXJ0bmVycy1pdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZztcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW1zLWhhdmUtYm9yZGVyLWRpdmlkZXJzID09IHRydWUge1xuICAgICAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW1zLWhhdmUtcGFkZGluZyA9PSB0cnVlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgICBib3JkZXItbGVmdDogJGFjLXBhcnRuZXJzLWl0ZW0tYm9yZGVyO1xuICAgICAgICBcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICRhYy1wYXJ0bmVycy1pdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgICAgICB9XG4gICAgfSAgIFxuXG4gICAgJi52X3NtYWxsZXItbG9nbyB7XG4gICAgICAgIC5hY19wYXJ0bmVyc19pdGVtX2xvZ28ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52X2xhcmdlci1sb2dvIHtcbiAgICAgICAgLmFjX3BhcnRuZXJzX2l0ZW1fbG9nbyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW1zLWhhdmUtYm9yZGVyLWRpdmlkZXJzID09IHRydWUge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGFzdCgxKSB7XG4gICAgICAgICAgICAgICAgLmFjX3BhcnRuZXJzX2l0ZW1fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuXG59XG5hLmFjX3BhcnRuZXJzX2l0ZW0geyAvLyBsaW5rcyBvbmx5XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC5hY19wYXJ0bmVyc19pdGVtX2xvZ28ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRhYy1wYXJ0bmVycy1pdGVtLWxvZ28taG92ZXItb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY19wYXJ0bmVyc19pdGVtX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjLXBhcnRuZXJzLWl0ZW1zLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcbn1cblxuLmFjX3BhcnRuZXJzX2l0ZW1fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRhYy1wYXJ0bmVycy1pdGVtLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkYWMtcGFydG5lcnMtaXRlbS1jb250YWluZXItcGFkZGluZztcblxuICAgIEBpZiAkYWMtcGFydG5lcnMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gdHJ1ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRhYy1wYXJ0bmVycy1pdGVtLWJvcmRlcjtcbiAgICB9XG5cbiAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW0tc2hhZG93ID09IHRydWUge1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3gtc2hhZG93O1xuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgICBCT1JERVIgUkVTUE9OU0lWRU5FU1Ncbi8vXG5cblxuW2RhdGEtcy10eXBlPVwicGFydG5lcnNcIl0ge1xuICAgICY6bm90KC52X2lzLXNsaWRlcikge1xuICAgICAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW1zLWhhdmUtYm9yZGVyLWRpdmlkZXJzID09IHRydWUge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaWYgJGFjLXBhcnRuZXJzLWl0ZW1zLW9uLXNtYWxsLXR3by1pdGVtcy1hLXJvdyA9PSBmYWxzZSB7XG5cbiAgICAgICAgICAgICAgICAvLyBib3JkZXItbGVmdFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yZXNwb25zaXZlbmVzcygnUzEnKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MxLU1QMicpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yZXNwb25zaXZlbmVzcygnUzEtTVAyLU0zJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJlc3BvbnNpdmVuZXNzKCdTMS1NUDItTTMtTDQnKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MxLU1QMi1MNScpO1xuXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLWJvdHRvbVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MxLU1QMicpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MxLU1QMi1MMycpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MxLU1QMi1MNCcpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MxLU1QMi1MNScpO1xuXG4gICAgICAgICAgICB9IEBlbHNlIHtcblxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1sZWZ0XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJlc3BvbnNpdmVuZXNzKCdTMScpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yZXNwb25zaXZlbmVzcygnUzInKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmVzcG9uc2l2ZW5lc3MoJ1MyLU0zJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJlc3BvbnNpdmVuZXNzKCdTMi1MNCcpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yZXNwb25zaXZlbmVzcygnUzItTDUnKTtcblxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b21cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3R0b20taXRlbXMtbm8tYm9yZGVyKCdTMicpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvdHRvbS1pdGVtcy1uby1ib3JkZXIoJ1MyLU0zJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm90dG9tLWl0ZW1zLW5vLWJvcmRlcignUzItTDQnKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3R0b20taXRlbXMtbm8tYm9yZGVyKCdTMi1MNScpO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgICBERVNDUklQVElPTlxuLy9cblxuLmFjX3BhcnRuZXJzX2l0ZW1fZGVzY3JpcHRpb24ge1xuICAgIFxuICAgIEBpZiAkYWMtcGFydG5lcnMtaXRlbXMtZGVzY3JpcHRpb24tZW5hYmxlID09IHRydWUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDk1JTtcbiAgICBjb2xvcjogJGFjLXBhcnRuZXJzLWl0ZW1zLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG5cbi8vXG4vLyAgICAgIExPR09cbi8vXG5cbi5hY19wYXJ0bmVyc19pdGVtX2xvZ29fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpZiAkYWMtcGFydG5lcnMtaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93ID09IGZhbHNlIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHZ3O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbi5hY19wYXJ0bmVyc19pdGVtX2xvZ28ge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgaGVpZ2h0OiAkYWMtcGFydG5lcnMtaXRlbS1sb2dvLWhlaWdodDtcbiAgICBtYXgtd2lkdGg6ICRhYy1wYXJ0bmVycy1pdGVtLWxvZ28tbWF4LXdpZHRoO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIG9wYWNpdHk6ICRhYy1wYXJ0bmVycy1pdGVtLWxvZ28taW5pdGlhbC1vcGFjaXR5O1xufVxuXG5cblxuLy9cbi8vICAgICAgU0xJREVSXG4vL1xuXG5bZGF0YS1zLXR5cGU9XCJwYXJ0bmVyc1wiXSB7XG4gICAgJi52X2lzLXNsaWRlciB7XG4gICAgICAgIC5hY19wYXJ0bmVyc19jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiBpbmhlcml0OyAvLyBzbGljayBzbGlkZXIgd2lsbCBoYW5kbGUgei1pbmRleFxuXG4gICAgICAgICAgICAvL3NsaWNrIGZ1b2MgZml4XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkYWMtcGFydG5lcnMtaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICAgICAgICAgIC8vIGRyb3AgZm91YyBpZiBzbGljayBpcyBpbml0aWFsaXplZFxuICAgICAgICAgICAgJi5zbGljay1pbml0aWFsaXplZCAge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICAkYWMtcGFydG5lcnMtaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBbZGF0YS1zLWFtb3VudC1pdGVtXSB7XG4gICAgICAgIC8vIGJlY2F1c2UgYWxsIGl0ZW1zIGFyZSBpbiBvbmUgbGluZSwgbWFyZ2luIG9uIHRoZSBib3R0b20gbWFrZSBubyBzZW5zZVxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLWJvcmRlci1ib3R0b21dIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3ZlcnJ1bGUgYm9yZGVyIGxlZnQgYmVoYXZpb3VyXG4gICAgICAgIEBpZiAkYWMtcGFydG5lcnMtaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnMgPT0gdHJ1ZSB7XG4gICAgICAgICBcbiAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2xpY2stYWN0aXZlIH4gLnNsaWNrLWFjdGl2ZXtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJGFjLXBhcnRuZXJzLWl0ZW0tYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIGFtb3VudCBvbiBzbWFsbCA9PSAxLCB3ZSBjYW4gaGlkZSB0aGUgYm9yZGVyIGFsbCB0b2dldGhlci4gVGhpcyBhbHNvIHByZXZlbnRzIGNvbnRlbnQgZ3JvdyBmbGlja2Vyc1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4vKiBDVEFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5bZGF0YS1zLXR5cGU9XCJjdGFcIl0ge1xuICAgIFxuICAgIC8vY29sdW1uc1xuICAgICRhYy1jdGEtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTAwMDtcbiAgICAkYWMtY3RhLWNvbHVtbi1maXJzdC13aWR0aDogMSouNTsgLy8gdGFrZXMgYW55IHBlcmNlbnRhZ2UgY2FsY3VsYXRpb25cbiAgICAkYWMtY3RhLWNvbHVtbi1maXJzdC10ZXh0LWFsaWduOiAncmlnaHQnOyAvLyBsZWZ0LCByaWdodCBvciBjZW50ZXIuIFxuICAgICRhYy1jdGEtY29sdW1uLXNlY29uZC10ZXh0LWFsaWduOiAnbGVmdCc7IC8vIGxlZnQsIHJpZ2h0IG9yIGNlbnRlci4gXG4gICAgJGFjLWN0YS1yZXZlcnNlZC1jb250ZW50OiBmYWxzZTsgLy8gZmxpcCBjb2x1bW5zXG5cbiAgICAvLyBjb2x1bW4gZ2FwXG4gICAgJGFjLWN0YS1jb2x1bW4tZ2FwLWhhcy1kaXZpZGVyOiB0cnVlO1xuICAgICRhYy1jdGEtY29sdW1uLWdhcDogJGRlZmF1bHQtcGFkZGluZyAqIDI7XG4gICAgJGFjLWN0YS1jb2x1bW4tZ2FwLWRpdmlkZXI6IHNvbGlkIDFweCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cbiAgICAkYWMtY3RhLWVsZW1lbnRzLW5vLW1hcmdpbjogZmFsc2U7IC8vIHByZXZlbnRzIG5hc3R5IGFsaWdubWVudCBkdWUgdG8gbWFyZ2lucywgbm90IGFwcGxpY2FibGUgZm9yIGNvbGxhcHNlZCB2aWV3LlxuXG4gICAgLy9pbWdcbiAgICAkYWMtaW1nLWJvcmRlci1ib3R0b206IHRydWU7XG4gICAgJGFjLWltZy1ib3JkZXI6IHNvbGlkIDFweCAkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0O1xuXG4gICAgQGltcG9ydCAnLi4vYWNfc19fY3RhLWdsb2JhbHMvX19jdGFfZ2xvYmFscyc7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICBcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXG4gICAgLmFjX2N0YV9jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfSBcbiAgICBcbiAgICAuYWNfY3RhX2NvbHVtbiB7XG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgKiAyIDA7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIEBpZiAkYWMtY3RhLWNvbHVtbi1nYXAtaGFzLWRpdmlkZXIgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRhYy1jdGEtY29sdW1uLWdhcDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWMtY3RhLWNvbHVtbi1nYXAtZGl2aWRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWMtY3RhLWNvbHVtbi1nYXAgLyAyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tZ2FwLWhhcy1kaXZpZGVyID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwIC8gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gICBcblxufSAvLyBlbmQgb2Ygc2NvcGUiLCJcbi8qIEFDX1NfQ1RBIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFjX2N0YV9jb250YWluZXIge1xuICAgIG1heC13aWR0aDogJGFjLWN0YS1tYXgtd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nO1xuXG4gICAgQGlmICRhYy1jdGEtcmV2ZXJzZWQtY29udGVudCA9PSB0cnVlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbn0gICBcblxuLmFjX2N0YV9jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgIEBpZiAkYWMtY3RhLWVsZW1lbnRzLW5vLW1hcmdpbiA9PSB0cnVlIHtcbiAgICAgICAgICAgIGgyLGgzLGg0LHAsLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuXG4gICAgICAgIEBpZiAkYWMtaW1nLWJvcmRlci1ib3R0b20gPT0gdHJ1ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYWMtaW1nLWJvcmRlcjsgLy8gZmFsbGJhY2tcbiAgICAgICAgfVxuXG4gICAgICAgIG1heC13aWR0aDogMjIwcHg7IC8vIHdhcyAxMDAlO1xuICAgIH1cbn0gICBcblxuXG4iLCJcbi8qIENUQSBURVhULUJVVFRPTlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbltkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWJ1dHRvblwiXSB7XG4gICAgXG4gICAgLy9jb2x1bW5zXG4gICAgJGFjLWN0YS1tYXgtd2lkdGg6ICRtYXgtY29udGVudC0xMDAwO1xuICAgICRhYy1jdGEtY29sdW1uLWZpcnN0LXdpZHRoOiAxKi41OyAvLyB0YWtlcyBhbnkgcGVyY2VudGFnZSBjYWxjdWxhdGlvblxuICAgICRhYy1jdGEtY29sdW1uLWZpcnN0LXRleHQtYWxpZ246ICdyaWdodCc7IC8vIGxlZnQsIHJpZ2h0IG9yIGNlbnRlci4gQXBwbGllcyB0byB2ZXJzaW9uIDFcbiAgICAkYWMtY3RhLWNvbHVtbi1zZWNvbmQtdGV4dC1hbGlnbjogJ2xlZnQnOyAvLyBsZWZ0LCByaWdodCBvciBjZW50ZXIuIEFwcGxpZXMgdG8gdmVyc2lvbiAxXG4gICAgJGFjLWN0YS1yZXZlcnNlZC1jb250ZW50OiBmYWxzZTsgLy8gZmxpcCBjb2x1bW5zXG5cbiAgICAvLyBjb2x1bW4gZ2FwXG4gICAgJGFjLWN0YS1jb2x1bW4tZ2FwLWhhcy1kaXZpZGVyOiB0cnVlO1xuICAgICRhYy1jdGEtY29sdW1uLWdhcDogJGRlZmF1bHQtcGFkZGluZztcbiAgICAkYWMtY3RhLWNvbHVtbi1nYXAtZGl2aWRlcjogc29saWQgMXB4IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodCwgLjIpO1xuXG4gICAgJGFjLWN0YS1lbGVtZW50cy1uby1tYXJnaW46IGZhbHNlOyAvLyBwcmV2ZW50cyBuYXN0eSBhbGlnbm1lbnQgZHVlIHRvIG1hcmdpbnMsIG5vdCBhcHBsaWNhYmxlIGZvciBjb2xsYXBzZWQgdmlldy5cblxuICAgIC8vaW1nXG4gICAgJGFjLWltZy1ib3JkZXItYm90dG9tOiB0cnVlO1xuICAgICRhYy1pbWctYm9yZGVyOiBzb2xpZCAxcHggJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodDtcblxuXG4gICAgQGltcG9ydCAnLi4vYWNfc19fY3RhLWdsb2JhbHMvX19jdGFfZ2xvYmFscyc7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICBcbiAgICAvL2xvY2FsIHZhcmlhYmxlc1xuICAgICRjZW50ZXJlZC1pdGVtcy1mb3ItbWVkaXVtLXVwOiBmYWxzZTtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmFjX2N0YV9jb250YWluZXIge1xuICAgICAgICBAaWYgJGNlbnRlcmVkLWl0ZW1zLWZvci1tZWRpdW0tdXAgPT0gZmFsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcblxuICAgIC5hY19jdGFfY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgQGlmICRhYy1jdGEtY29sdW1uLWdhcC1oYXMtZGl2aWRlciA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRhYy1jdGEtY29sdW1uLWdhcC1kaXZpZGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRhYy1jdGEtY29sdW1uLWdhcCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICBAaWYgJGNlbnRlcmVkLWl0ZW1zLWZvci1tZWRpdW0tdXAgPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRhYy1jdGEtY29sdW1uLWdhcDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICRhYy1jdGEtY29sdW1uLWdhcC1oYXMtZGl2aWRlciA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRhYy1jdGEtcmV2ZXJzZWQtY29udGVudCA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWMtY3RhLWNvbHVtbi1nYXAtZGl2aWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhYy1jdGEtY29sdW1uLWdhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkYWMtY3RhLWNvbHVtbi1nYXAtZGl2aWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYWMtY3RhLWNvbHVtbi1nYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tZmlyc3QtdGV4dC1hbGlnbiA9PSAnY2VudGVyJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGFjLWN0YS1jb2x1bW4tZmlyc3QtdGV4dC1hbGlnbiA9PSAncmlnaHQnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgLSBwZXJjZW50YWdlKCRhYy1jdGEtY29sdW1uLWZpcnN0LXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlIC0gcGVyY2VudGFnZSgkYWMtY3RhLWNvbHVtbi1maXJzdC13aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tc2Vjb25kLXRleHQtYWxpZ24gPT0gJ2NlbnRlcicge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICRhYy1jdGEtY29sdW1uLXNlY29uZC10ZXh0LWFsaWduID09ICdyaWdodCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9ICAgXG5cbiAgICAuYWNfc29jaWFscyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG5cbn0gLy8gZW5kIG9mIHNjb3BlIiwiXG4vKiBDVEEgVEVYVC1JTUFHRVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbltkYXRhLXMtdHlwZT1cImN0YS10ZXh0LWltYWdlXCJdIHtcbiAgICBcbiAgICAvL2NvbHVtbnNcbiAgICAkYWMtY3RhLW1heC13aWR0aDogJG1heC1jb250ZW50LTEwMDA7XG4gICAgJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGg6IDEqLjY7IC8vIHRha2VzIGFueSBwZXJjZW50YWdlIGNhbGN1bGF0aW9uXG4gICAgJGFjLWN0YS1jb2x1bW4tZmlyc3QtdGV4dC1hbGlnbjogJ3JpZ2h0JzsgLy8gbGVmdCwgcmlnaHQgb3IgY2VudGVyLiBcbiAgICAkYWMtY3RhLWNvbHVtbi1zZWNvbmQtdGV4dC1hbGlnbjogJ2xlZnQnOyAvLyBsZWZ0LCByaWdodCBvciBjZW50ZXIuICBcbiAgICAkYWMtY3RhLXJldmVyc2VkLWNvbnRlbnQ6IGZhbHNlOyAvLyBmbGlwIGNvbHVtbnNcblxuICAgIC8vIGNvbHVtbiBnYXBcbiAgICAkYWMtY3RhLWNvbHVtbi1nYXAtaGFzLWRpdmlkZXI6IGZhbHNlO1xuICAgICRhYy1jdGEtY29sdW1uLWdhcDogJGRlZmF1bHQtcGFkZGluZztcbiAgICAkYWMtY3RhLWNvbHVtbi1nYXAtZGl2aWRlcjogc29saWQgMXB4IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodCwgLjIpO1xuXG4gICAgJGFjLWN0YS1lbGVtZW50cy1uby1tYXJnaW46IGZhbHNlOyAvLyBwcmV2ZW50cyBuYXN0eSBhbGlnbm1lbnQgZHVlIHRvIG1hcmdpbnMsIG5vdCBhcHBsaWNhYmxlIGZvciBjb2xsYXBzZWQgdmlldy5cblxuICAgIC8vaW1nXG4gICAgJGFjLWltZy1ib3JkZXItYm90dG9tOiB0cnVlO1xuICAgICRhYy1pbWctYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0LCAuMyk7XG5cbiAgICBAaW1wb3J0ICcuLi9hY19zX19jdGEtZ2xvYmFscy9fX2N0YV9nbG9iYWxzJztcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbiAgICAuYWNfY3RhX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgLmFjX2N0YV9jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tZ2FwLWhhcy1kaXZpZGVyID09IHRydWUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkYWMtY3RhLWNvbHVtbi1nYXA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjLWN0YS1jb2x1bW4tZ2FwLWRpdmlkZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkYWMtY3RhLWNvbHVtbi1maXJzdC13aWR0aCk7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYWMtY3RhLWNvbHVtbi1nYXA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tZ2FwLWhhcy1kaXZpZGVyID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1yZXZlcnNlZC1jb250ZW50ID09IGZhbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGFjLWN0YS1jb2x1bW4tZ2FwLWRpdmlkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhYy1jdGEtY29sdW1uLWdhcDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwLWRpdmlkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tZmlyc3QtdGV4dC1hbGlnbiA9PSAnY2VudGVyJyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICRhYy1jdGEtY29sdW1uLWZpcnN0LXRleHQtYWxpZ24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAtIHBlcmNlbnRhZ2UoJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAtIHBlcmNlbnRhZ2UoJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGgpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgQGlmICRhYy1jdGEtY29sdW1uLXNlY29uZC10ZXh0LWFsaWduID09ICdjZW50ZXInIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGFjLWN0YS1jb2x1bW4tc2Vjb25kLXRleHQtYWxpZ24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gICBcblxuICAgIC5hY19zb2NpYWxzIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cblxufSAvLyBlbmQgb2Ygc2NvcGUiLCJcbi8qIENUQSBURVhULUJVVFRPTlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbltkYXRhLXMtdHlwZT1cImN0YS10ZXh0LXNvY2lhbHNcIl0ge1xuICAgIFxuICAgIC8vY29sdW1uc1xuICAgICRhYy1jdGEtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtODAwO1xuICAgICRhYy1jdGEtY29sdW1uLWZpcnN0LXdpZHRoOiAxKjA7IC8vIHRha2VzIGFueSBwZXJjZW50YWdlIGNhbGN1bGF0aW9uXG4gICAgJGFjLWN0YS1jb2x1bW4tZmlyc3QtdGV4dC1hbGlnbjogJ3JpZ2h0JzsgLy8gbGVmdCwgcmlnaHQgb3IgY2VudGVyLiBBcHBsaWVzIHRvIHZlcnNpb24gMVxuICAgICRhYy1jdGEtY29sdW1uLXNlY29uZC10ZXh0LWFsaWduOiAnbGVmdCc7IC8vIGxlZnQsIHJpZ2h0IG9yIGNlbnRlci4gQXBwbGllcyB0byB2ZXJzaW9uIDFcbiAgICAkYWMtY3RhLXJldmVyc2VkLWNvbnRlbnQ6IGZhbHNlOyAvLyBmbGlwIGNvbHVtbnNcblxuICAgIC8vIGNvbHVtbiBnYXBcbiAgICAkYWMtY3RhLWNvbHVtbi1nYXAtaGFzLWRpdmlkZXI6IGZhbHNlO1xuICAgICRhYy1jdGEtY29sdW1uLWdhcDogJGRlZmF1bHQtcGFkZGluZztcbiAgICAkYWMtY3RhLWNvbHVtbi1nYXAtZGl2aWRlcjogc29saWQgMXB4IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodCwgLjIpO1xuICAgIFxuICAgICRhYy1jdGEtZWxlbWVudHMtbm8tbWFyZ2luOiBmYWxzZTsgLy8gcHJldmVudHMgbmFzdHkgYWxpZ25tZW50IGR1ZSB0byBtYXJnaW5zLCBub3QgYXBwbGljYWJsZSBmb3IgY29sbGFwc2VkIHZpZXcuXG5cbiAgICAvL2ltZ1xuICAgICRhYy1pbWctYm9yZGVyLWJvdHRvbTogdHJ1ZTtcbiAgICAkYWMtaW1nLWJvcmRlcjogc29saWQgMXB4ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG5cbiAgICBAaW1wb3J0ICcuLi9hY19zX19jdGEtZ2xvYmFscy9fX2N0YV9nbG9iYWxzJztcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIFxuICAgIC8vbG9jYWwgdmFyaWFibGVzXG4gICAgJGNlbnRlcmVkLWl0ZW1zLWZvci1tZWRpdW0tdXA6IHRydWU7XG4gICAgJGhpZGUtZmlyc3QtY29sdW1uOiB0cnVlO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYWNfY3RhX2NvbnRhaW5lciB7XG4gICAgICAgIEBpZiAkY2VudGVyZWQtaXRlbXMtZm9yLW1lZGl1bS11cCA9PSBmYWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgLmFjX2N0YV9jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tZ2FwLWhhcy1kaXZpZGVyID09IHRydWUgYW5kICRoaWRlLWZpcnN0LWNvbHVtbiA9PSBmYWxzZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRhYy1jdGEtY29sdW1uLWdhcC1kaXZpZGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRhYy1jdGEtY29sdW1uLWdhcCAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGhpZGUtZmlyc3QtY29sdW1uID09IHRydWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICBAaWYgJGNlbnRlcmVkLWl0ZW1zLWZvci1tZWRpdW0tdXAgPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAkaGlkZS1maXJzdC1jb2x1bW4gPT0gZmFsc2Uge1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkYWMtY3RhLWNvbHVtbi1maXJzdC13aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGFjLWN0YS1jb2x1bW4tZmlyc3Qtd2lkdGgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYWMtY3RhLWNvbHVtbi1nYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRhYy1jdGEtY29sdW1uLWdhcC1oYXMtZGl2aWRlciA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRhYy1jdGEtcmV2ZXJzZWQtY29udGVudCA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGFjLWN0YS1jb2x1bW4tZ2FwLWRpdmlkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwLWRpdmlkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYWMtY3RhLWNvbHVtbi1nYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGFjLWN0YS1jb2x1bW4tZ2FwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYWMtY3RhLWNvbHVtbi1maXJzdC10ZXh0LWFsaWduID09ICdjZW50ZXInIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICRhYy1jdGEtY29sdW1uLWZpcnN0LXRleHQtYWxpZ24gPT0gJ3JpZ2h0JyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgLSBwZXJjZW50YWdlKCRhYy1jdGEtY29sdW1uLWZpcnN0LXdpZHRoKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlIC0gcGVyY2VudGFnZSgkYWMtY3RhLWNvbHVtbi1maXJzdC13aWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGFjLWN0YS1jb2x1bW4tc2Vjb25kLXRleHQtYWxpZ24gPT0gJ2NlbnRlcicge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICRhYy1jdGEtY29sdW1uLXNlY29uZC10ZXh0LWFsaWduID09ICdyaWdodCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9ICAgXG5cbiAgICAuYWNfc29jaWFscyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICB9XG4gICAgLmFjX3NvY2lhbHNfbGluayB7XG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgLyAyICRkZWZhdWx0LXBhZGRpbmc7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyAuYWNfc29jaWFsc19saW5rX3RleHQge1xuICAgIC8vICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vIH1cblxuXG59IC8vIGVuZCBvZiBzY29wZSIsIlxuLyogSEVSTyAtIDJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuW2RhdGEtcy10eXBlPVwiaGVyb1wiXSB7XG5cbiAgICAvLyBoZXJvXG4gICAgJGhlcm8taGVpZ2h0OiA4MHZoOyAvLyAxMDB2aCwgODB2aCwgNDAwcHgsIGV0Y1xuICAgICRoZXJvLW1pbi1oZWlnaHQ6IDUwMHB4OyAvLyBvcHRpb25hbCBhbmQgaGFuZHkgZm9yIHNtYWxsZXIgc2l6ZXMsIHRvIHByZXZlbnQgY29sbGFwc2luZyBvZiBjb250ZW50XG4gICAgJGhlcm8tZ3JhZGllbnQtYmVmb3JlOiB0cnVlO1xuICAgICRoZXJvLWdyYWRpZW50LWJlZm9yZS1oZWlnaHQ6IDI1dmg7XG4gICAgJGhlcm8tZ3JhZGllbnQtYmVmb3JlLXBvc2l0aW9uOiAndG9wJztcbiAgICAkaGVyby1ncmFkaWVudC1jb2xvcjogZGFya2VuKCRkZWZhdWx0LWJhY2tncm91bmQtZGFyaywgMiUpO1xuXG4gICAgLy8gc2xpZGVcbiAgICAkaGVyby1zbGlkZS1tYXgtd2lkdGg6IDgwMHB4O1xuICAgICRoZXJvLXNsaWRlLWNvbnRlbnQtY29ycmVjdGlvbjogLTNlbTsgLy8gLTNlbSAvLyBhbGxvd3MgZm9yIHZpc3VhbCBjb3JyZWN0aW9uIG9mIG91dGxpbmluZyBjb250ZW50LCB3aGVuIHVzaW5nIGEgZGl2aWRlclxuICAgICRoZXJvLXNsaWRlLXR5cGU6ICd0ZXh0LWltYWdlJzsgLy8gdGV4dCBvciB0ZXh0LWltYWdlXG4gICAgJGhlcm8tc2xpZGUtYWxpZ246ICdjZW50ZXInOyAvLyBjZW50ZXIgb3IgbGVmdC4gdGV4dC1pbWFnZSBhbHdheXMgaW1wbGllcyBsZWZ0IGFsaWduZWQgdGV4dFxuICAgICRoZXJvLXNsaWRlLWNvbnRlbnQtdGV4dC13aWR0aDogMSouNzsgLy8gY2FuIGJlIGFueSBwZXJjZW50YWdlIGNhbGN1bGF0aW9uLCBlZyAxKi44IG9yIDEvNC4gVGhlIGltYWdlIChpZiBhcHBsaWNhYmxlKSB3aWxsIHRha2UgdGhlIHNwYWNlIHRoYXQgaXMgbGVmdFxuICAgICRoZXJvLXNsaWRlLWltYWdlLW9uLXNtYWxsOiAnYWJzb2x1dGUnOyAvLyBub25lIG9yIGFic29sdXRlOyBob3cgdG8gc2hvdyB0aGUgb3B0aW9uYWwgaW1hZ2UgaW4gYSBzbGlkZSBvbiBzbWFsbCBkZXZpY2VzXG4gICAgJGhlcm8tc2xpZGUtaW1hZ2Utb24tc21hbGwtb3BhY2l0eTogLjQ7XG5cbiAgICAvLyBhcnJvd3NcbiAgICAkaGVyby1zbGlkZS1hcnJvd3MtZW5hYmxlZDogdHJ1ZTtcbiAgICAkaGVyby1zbGlkZS1hcnJvd3MtZW5hYmxlZC1mcm9tOiA3MDBweDsgLy8gNzAwcHhcbiAgICAkaGVyby1zbGlkZS1hcnJvd3MtaW5jcmVhc2Utc2l6ZS1mcm9tOiAxMTUwcHg7XG4gICAgJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtc21hbGw6IDEuNWVtO1xuICAgICRoZXJvLXNsaWRlLWFycm93cy1zaXplLWxhcmdlOiAyZW07XG4gICAgJGhlcm8tc2xpZGUtYXJyb3dzLXBvc2l0aW9uOiAnYm90dG9tLWNlbnRlcmVkJzsgLy8gbGVmdC1hbmQtcmlnaHQtY2VudGVyZWQsIGJvdHRvbS1jZW50ZXJlZFxuICAgICRoZXJvLXNsaWRlLWFycm93cy1ib3R0b20tcG9zaXRpb246IDEwZW07IC8vIGlmIGJvdHRvbS1jZW50ZXJlZFxuICAgICRoZXJvLXNsaWRlLWFycm93cy1jb2xvcjogICRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQ7XG4gICAgJGhlcm8tc2xpZGUtYXJyb3dzLWhvdmVyLWNvbG9yOiByZ2JhKCAkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAuNSk7XG5cbiAgICAvLyBkb3RzXG4gICAgJGhlcm8tc2xpZGUtZG90cy1ib3JkZXI6IHNvbGlkIDJweCByZ2JhKCAkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAuNSk7IFxuICAgICRoZXJvLXNsaWRlLWRvdHMtYm9yZGVyLWFjdGl2ZTogc29saWQgMnB4IHJnYmEoICRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQsIC41KTsgXG4gICAgJGhlcm8tc2xpZGUtZG90cy1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgXG4gICAgJGhlcm8tc2xpZGUtZG90cy1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodDsgXG5cbiAgICAvLyBsaW5rIHRvIGNvbnRlbnRcbiAgICAkaGVyby1saW5rLXRvLWNvbnRlbnQtZW5hYmxlZDogdHJ1ZTtcbiAgICAkaGVyby1saW5rLXRvLWNvbnRlbnQtYm90dG9tOiA0ZW07XG4gICAgJGhlcm8tbGluay10by1jb250ZW50LWVuYWJsZS1mb3ItbWVkaXVtLXBvcnRyYWl0LWRvd246IGZhbHNlO1xuICAgICRoZXJvLWxpbmstdG8tY29udGVudC1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodDtcbiAgICAkaGVyby1saW5rLXRvLWNvbnRlbnQtaG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgLjUpO1xuXG5cbiAgICBAaW1wb3J0ICdfaGVyb19nbG9iYWxzJztcblxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgXG5cbiAgICBoMSwgaDIsIGgzIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICoge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNfaGVyb19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCBkb3duKXtcbiAgICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjX2hlcm9fc2xpZGVfY29udGVudF9jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZXJvLXNsaWRlLWNvbnRlbnQtY29ycmVjdGlvbiAvIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjX2hlcm9fc2xpZGVfY29udGVudF90ZXh0IHtcbiAgICAgICAgY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQ7XG4gICAgfVxuICAgIC5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dF90aXRsZSB7XG4gICAgICAgICoge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNDAlO1xuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgICAgICAgICBib3R0b206IDJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFxuXG59IC8vIGVuZCBvZiBzY29wZSIsIlxuLyogQUNfU19IRVJPIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vL1xuLy8gICAgICBDT05UQUlORVJcbi8vXG5cbi5hY19oZXJvX2NvbnRhaW5lciB7XG5cbiAgICBAaWYgJGhlcm8tZ3JhZGllbnQtYmVmb3JlID09IHRydWUge1xuICAgICAgICAgICAgXG4gICAgICAgICRncmFkaWVudC1kZWdyZWVzOiAwZGVnO1xuICAgICAgICBcbiAgICAgICAgQGlmICRoZXJvLWdyYWRpZW50LWJlZm9yZS1wb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgICAgICAkZ3JhZGllbnQtZGVncmVlczogMTgwZGVnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJGhlcm8tZ3JhZGllbnQtYmVmb3JlLWhlaWdodDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZ3JhZGllbnQtZGVncmVlcywgcmdiYSgkaGVyby1ncmFkaWVudC1jb2xvciwgMCksIHJnYmEoJGhlcm8tZ3JhZGllbnQtY29sb3IsIDEpKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBAaWYgJGhlcm8tZ3JhZGllbnQtYmVmb3JlLXBvc2l0aW9uID09ICdib3R0b20nIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAkaGVyby1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGhlcm8tbWluLWhlaWdodDsgXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuIFxuLy9cbi8vICAgICAgU0xJREVTXG4vL1xuXG4uYWNfaGVyb19zbGlkZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIC8vc2xpY2sgZnVvYyBmaXhcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIG92ZXJmbG93IGhpZGRlbiBzdGF5cyBpbnRhY3QgZm9yIGhlcm8gc2xpZGVyLiBUaGlzIGFsc28gYWxsb3dzIGZvciBmYWRpbmcgY29udGVudCBpbiBhZnRlciBmdW9jIGZpeC5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICBcbiAgICAvLyBkcm9wIGZvdWMgaWYgc2xpY2sgaXMgaW5pdGlhbGl6ZWRcbiAgICAmLnNsaWNrLWluaXRpYWxpemVkICB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG59XG4uYWNfaGVyb19zbGlkZSB7XG4gICAgd2lsbC1jaGFuZ2U6IGNvbnRlbnRzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5hY19oZXJvX3NsaWRlX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6ICRoZXJvLXNsaWRlLW1heC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgQGlmICRoZXJvLXNsaWRlLWFycm93cy1lbmFibGVkID09IHRydWUge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaGVyby1zbGlkZS1hcnJvd3MtaW5jcmVhc2Utc2l6ZS1mcm9tKSB7XG4gICAgICAgICAgICBAaWYgJGhlcm8tc2xpZGUtYXJyb3dzLXBvc2l0aW9uID09ICdsZWZ0LWFuZC1yaWdodC1jZW50ZXJlZCcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGRlZmF1bHQtcGFkZGluZyAqIDQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGhlcm8tc2xpZGUtYXJyb3dzLXBvc2l0aW9uID09ICdib3R0b20tY2VudGVyZWQnIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IFxufVxuLmFjX2hlcm9fc2xpZGVfY29udGVudF9jb250YWluZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVyby1zbGlkZS1jb250ZW50LWNvcnJlY3Rpb24pO1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbn1cblxuLmFjX2hlcm9fc2xpZGVfY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi5hY19oZXJvX3NsaWRlX2NvbnRlbnRfaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaWYgJGhlcm8tc2xpZGUtYWxpZ24gPT0gJ2NlbnRlcicge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dCB7XG4gICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoMSk7XG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtLXBvcnRyYWl0KSB7XG4gICAgICAgIGZsZXg6IDAgMSBwZXJjZW50YWdlKCRoZXJvLXNsaWRlLWNvbnRlbnQtdGV4dC13aWR0aCk7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkaGVyby1zbGlkZS1jb250ZW50LXRleHQtd2lkdGgpO1xuICAgIH1cbiAgICBAaWYgJGhlcm8tc2xpZGUtdHlwZSA9PSAndGV4dCcge1xuICAgICAgICBAaWYgJGhlcm8tc2xpZGUtYWxpZ24gPT0gJ2NlbnRlcicge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uYWNfaGVyb19zbGlkZV9jb250ZW50X2ltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpZiAkaGVyby1zbGlkZS10eXBlID09ICd0ZXh0JyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpZiAkaGVyby1zbGlkZS10eXBlID09ICd0ZXh0LWltYWdlJyB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlIC0gcGVyY2VudGFnZSgkaGVyby1zbGlkZS1jb250ZW50LXRleHQtd2lkdGgpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgLSBwZXJjZW50YWdlKCRoZXJvLXNsaWRlLWNvbnRlbnQtdGV4dC13aWR0aCk7XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkaGVyby1zbGlkZS1pbWFnZS1vbi1zbWFsbCA9PSAnbm9uZSd7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBpbWFnZSBpcyBub3Qgc2hvd24gb24gc21hbGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJGhlcm8tc2xpZGUtaW1hZ2Utb24tc21hbGwgPT0gJ2Fic29sdXRlJ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGhlcm8tc2xpZGUtaW1hZ2Utb24tc21hbGwtb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy9cbi8vICAgICAgU0xJQ0sgRklYRVNcbi8vXG5cbi5zbGljay1kb3RzIHtcbiAgICBidXR0b24ge1xuICAgICAgICBib3JkZXI6ICRoZXJvLXNsaWRlLWRvdHMtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVyby1zbGlkZS1kb3RzLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIC5zbGljay1hY3RpdmUge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAkaGVyby1zbGlkZS1kb3RzLWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVyby1zbGlkZS1kb3RzLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB9ICAgXG4gICAgfVxufVxuLnNsaWNrLWxpc3Qge1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5zbGljay10cmFjayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCAge1xuICAgIFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgXG5cbiAgICBAaWYgJGhlcm8tc2xpZGUtYXJyb3dzLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgQGlmICRoZXJvLXNsaWRlLWFycm93cy1lbmFibGVkID09IHRydWUge1xuICAgICAgICAgICAgd2lkdGg6ICRoZXJvLXNsaWRlLWFycm93cy1zaXplLXNtYWxsO1xuICAgICAgICAgICAgaGVpZ2h0OiAkaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlcm8tc2xpZGUtYXJyb3dzLWluY3JlYXNlLXNpemUtZnJvbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZXJvLXNsaWRlLWFycm93cy1zaXplLWxhcmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkaGVyby1zbGlkZS1hcnJvd3MtY29sb3I7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRoZXJvLXNsaWRlLWFycm93cy1zaXplLXNtYWxsO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtc21hbGw7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlcm8tc2xpZGUtYXJyb3dzLWluY3JlYXNlLXNpemUtZnJvbSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2U7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRoZXJvLXNsaWRlLWFycm93cy1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZXJvLXNsaWRlLWFycm93cy1lbmFibGVkLWZyb20pe1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBpZiAkaGVyby1zbGlkZS1hcnJvd3MtZW5hYmxlZCA9PSB0cnVlIHtcblxuICAgIEBpZiAkaGVyby1zbGlkZS1hcnJvd3MtcG9zaXRpb24gPT0gJ2xlZnQtYW5kLXJpZ2h0LWNlbnRlcmVkJyB7XG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKCRoZXJvLXNsaWRlLWFycm93cy1zaXplLXNtYWxsICogMik7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaGVyby1zbGlkZS1hcnJvd3MtaW5jcmVhc2Utc2l6ZS1mcm9tKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2UgKiAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2UgKiA0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKCRoZXJvLXNsaWRlLWFycm93cy1zaXplLWxhcmdlICogNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICBcbiAgICAgICAgLnNsaWNrLW5leHQgIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0kaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1zbWFsbCAqIDIpO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlcm8tc2xpZGUtYXJyb3dzLWluY3JlYXNlLXNpemUtZnJvbSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0kaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZSAqIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtJGhlcm8tc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2UgKiA0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0kaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZSAqIDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRoZXJvLXNsaWRlLWFycm93cy1wb3NpdGlvbiA9PSAnYm90dG9tLWNlbnRlcmVkJyB7XG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgIGJvdHRvbTogJGhlcm8tc2xpZGUtYXJyb3dzLWJvdHRvbS1wb3NpdGlvbjtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtKCRoZXJvLXNsaWRlLWFycm93cy1zaXplLXNtYWxsICogNikgLSAkaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1zbWFsbCk7XG4gICAgICAgIH0gICBcbiAgICAgICAgLnNsaWNrLW5leHQgIHtcbiAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgIGJvdHRvbTogJGhlcm8tc2xpZGUtYXJyb3dzLWJvdHRvbS1wb3NpdGlvbjtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkaGVyby1zbGlkZS1hcnJvd3Mtc2l6ZS1zbWFsbCAqIDYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAkaGVyby1zbGlkZS1hcnJvd3MtYm90dG9tLXBvc2l0aW9uO1xufVxuXG5cblxuLy9cbi8vICAgICAgTElOSyBUTyBDT05URU5UXG4vL1xuXG4uYWNfaGVyb19saW5rX3RvLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTExO1xuICAgIGJvdHRvbTogJGhlcm8tbGluay10by1jb250ZW50LWJvdHRvbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIEBpZiAkaGVyby1saW5rLXRvLWNvbnRlbnQtZW5hYmxlLWZvci1tZWRpdW0tcG9ydHJhaXQtZG93biA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN2Zy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNGVtO1xuICAgICAgICBoZWlnaHQ6IDRlbTtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDRlbTtcbiAgICAgICAgaGVpZ2h0OiA0ZW07XG4gICAgICAgIGZpbGw6ICRoZXJvLWxpbmstdG8tY29udGVudC1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMnB4KTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkaGVyby1saW5rLXRvLWNvbnRlbnQtaG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4vKiBBQ19TX0hFUk9fQUxUIC0gMVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5bZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSB7XG4gICAgLy8gaGVyb1xuICAgICRoZXJvLWFsdC1oZWlnaHQ6IDMwMHB4OyAvLyAxMDB2aCwgODB2aCwgNDAwcHgsIGV0Y1xuICAgICRoZXJvLWFsdC1taW4taGVpZ2h0OiAyMDBweDtcblxuICAgIC8vIHNsaWRlXG4gICAgJGhlcm8tYWx0LXNsaWRlLW1heC13aWR0aDogMTAwMHB4O1xuICAgICRoZXJvLWFsdC1zbGlkZS1jb250ZW50LWNvcnJlY3Rpb246IC0xZW07IC8vIGFsbG93cyBmb3IgdmlzdWFsIGNvcnJlY3Rpb24gb2Ygb3V0bGluaW5nIGNvbnRlbnQsIHdoZW4gdXNpbmcgYSBkaXZpZGVyXG4gICAgJGhlcm8tYWx0LXNsaWRlLXR5cGU6ICd0ZXh0JzsgLy8gdGV4dCBvciB0ZXh0LWltYWdlXG4gICAgJGhlcm8tYWx0LXNsaWRlLWFsaWduOiAnY2VudGVyJzsgLy8gY2VudGVyIG9yIGxlZnQuIHRleHQtaW1hZ2UgYWx3YXlzIGltcGxpZXMgbGVmdCBhbGlnbmVkIHRleHRcbiAgICAkaGVyby1hbHQtc2xpZGUtY29udGVudC10ZXh0LXdpZHRoOiAxKi44OyAvLyAvLyBjYW4gYmUgYW55IHBlcmNlbnRhZ2UgY2FsY3VsYXRpb24sIGVnIDEqLjggb3IgMS80LiBUaGUgaW1hZ2UgKGlmIGFwcGxpY2FibGUpIHdpbGwgdGFrZSB0aGUgc3BhY2UgbGVmdFxuICAgICRoZXJvLWFsdC1zbGlkZS1pbWFnZS1vbi1zbWFsbDogJ2Fic29sdXRlJzsgLy8gbm9uZSBvciBhYnNvbHV0ZTsgaG93IHRvIHNob3cgdGhlIGltYWdlIG9uIHNtYWxsXG5cbiAgICAvLyBhcnJvd3NcbiAgICAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLWVuYWJsZWQ6IHRydWU7XG4gICAgJGhlcm8tYWx0LXNsaWRlLWFycm93cy1lbmFibGVkLWZyb206IDBweDsgLy8gNzAwcHhcbiAgICAkaGVyby1hbHQtc2xpZGUtaW5jcmVhc2UtYXJyb3dzLXNpemUtZnJvbTogMTE1MHB4O1xuICAgICRoZXJvLWFsdC1zbGlkZS1hcnJvd3Mtc2l6ZS1zbWFsbDogMWVtO1xuICAgICRoZXJvLWFsdC1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZTogMmVtO1xuICAgICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtcG9zaXRpb246ICdib3R0b20tY2VudGVyZWQnOyAvLyBsZWZ0LWFuZC1yaWdodC1jZW50ZXJlZCwgYm90dG9tLWNlbnRlcmVkXG4gICAgJGhlcm8tYWx0LXNsaWRlLWFycm93cy1ib3R0b20tcG9zaXRpb246IDRlbTsgLy8gaWYgYm90dG9tLWNlbnRlcmVkXG5cbiAgICAkaGVyby1hbHQtYmFja2Ryb3AtdGlsbC1tZWRpdW0tZ3JheXNjYWxlOiBmYWxzZTtcbiAgICAkaGVyby1hbHQtYmFja2Ryb3AtdGlsbC1tZWRpdW0tZmFkZTogLjQ7XG4gICAgJGhlcm8tYWx0LWJhY2tkcm9wLXRpbGwtbWVkaXVtLWJsZW5kLW1vZGU6IG11bHRpcGx5OyAvLyBtdWx0aXBseSAvIG5vcm1hbFxuXG4gICAgJGhlcm8tYWx0LWxpbmstdG8tY29udGVudC1lbmFibGVkOiBmYWxzZTtcbiAgICAkaGVyby1hbHQtbGluay10by1jb250ZW50LWJvdHRvbTogM2VtO1xuICAgICRoZXJvLWFsdC1saW5rLXRvLWNvbnRlbnQtc2hvdy10aWxsLW1lZGl1bTogZmFsc2U7XG5cblxuICAgIEBpbXBvcnQgJ19faGVyb19hbHRfZ2xvYmFscyc7XG5cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoMSwgaDIsIGgzIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICoge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4vKiBBQ19TX0hFUk8gLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vXG4vLyAgICAgIENPTlRBSU5FUlxuLy9cblxuLmFjX2hlcm9fYWx0X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAkaGVyby1hbHQtaGVpZ2h0IC8gMjtcbiAgICBtaW4taGVpZ2h0OiAkaGVyby1hbHQtbWluLWhlaWdodDsgLy8gb3B0aW9uYWwgZm9yIHNtYWxsZXIgc2l6ZXMsIHRvIHByZXZlbnQgY29sbGFwc2luZyBvZiBjb250ZW50XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogJGhlcm8tYWx0LWhlaWdodDtcbiAgICB9XG59XG5cblxuLy9cbi8vICAgICAgU0xJREVTXG4vL1xuXG4uYWNfaGVyb19hbHRfc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAvL3NsaWNrIGZ1b2MgZml4XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBvdmVyZmxvdyBoaWRkZW4gc3RheXMgaW50YWN0IGZvciBoZXJvIHNsaWRlci4gVGhpcyBhbHNvIGFsbG93cyBmb3IgZmFkaW5nIGNvbnRlbnQgaW4gYWZ0ZXIgZnVvYyBmaXguXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgXG4gICAgLy8gZHJvcCBmb3VjIGlmIHNsaWNrIGlzIGluaXRpYWxpemVkXG4gICAgJi5zbGljay1pbml0aWFsaXplZCAge1xuICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxufVxuLmFjX2hlcm9fYWx0X3NsaWRlIHtcbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmFjX2hlcm9fYWx0X3NsaWRlX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6ICRoZXJvLWFsdC1zbGlkZS1tYXgtd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nO1xuICAgIEBpZiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtZW5hYmxlZC1mcm9tKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgKiA0O1xuICAgICAgICB9XG4gICAgfSBcbn1cbi5hY19oZXJvX2FsdF9zbGlkZV9jb250ZW50X2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZXJvLWFsdC1zbGlkZS1jb250ZW50LWNvcnJlY3Rpb24pO1xuICAgIH1cbiAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG59XG5cbi5hY19oZXJvX2FsdF9zbGlkZV9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLmFjX2hlcm9fYWx0X3NsaWRlX2NvbnRlbnRfaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaWYgJGhlcm8tYWx0LXNsaWRlLWFsaWduID09ICdjZW50ZXInIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4uYWNfaGVyb19hbHRfc2xpZGVfY29udGVudF90ZXh0IHtcbiAgICBmbGV4OiAwIDEgcGVyY2VudGFnZSgxKTtcbiAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0tcG9ydHJhaXQpIHtcbiAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoJGhlcm8tYWx0LXNsaWRlLWNvbnRlbnQtdGV4dC13aWR0aCk7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkaGVyby1hbHQtc2xpZGUtY29udGVudC10ZXh0LXdpZHRoKTtcbiAgICB9XG4gICAgQGlmICRoZXJvLWFsdC1zbGlkZS10eXBlID09ICd0ZXh0JyB7XG4gICAgICAgIEBpZiAkaGVyby1hbHQtc2xpZGUtYWxpZ24gPT0gJ2NlbnRlcicge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uYWNfaGVyb19hbHRfc2xpZGVfY29udGVudF9pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaWYgJGhlcm8tYWx0LXNsaWRlLXR5cGUgPT0gJ3RleHQnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGlmICRoZXJvLWFsdC1zbGlkZS10eXBlID09ICd0ZXh0LWltYWdlJyB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlIC0gcGVyY2VudGFnZSgkaGVyby1hbHQtc2xpZGUtY29udGVudC10ZXh0LXdpZHRoKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlIC0gcGVyY2VudGFnZSgkaGVyby1hbHQtc2xpZGUtY29udGVudC10ZXh0LXdpZHRoKTtcblxuICAgICAgICBAaWYgJGhlcm8tYWx0LXNsaWRlLWltYWdlLW9uLXNtYWxsID09ICdub25lJ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIGltYWdlIGlzIG5vdCBzaG93biBvbiBzbWFsbFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkaGVyby1hbHQtc2xpZGUtaW1hZ2Utb24tc21hbGwgPT0gJ2Fic29sdXRlJ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vL1xuLy8gICAgICBTTElDSyBGSVhFU1xuLy9cblxuICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0ICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gb3ZlcnJ1bGUgdGhlIFNsaWNrIGpzXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgQGlmICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtc21hbGw7XG4gICAgICAgICAgICBoZWlnaHQ6ICRoZXJvLWFsdC1zbGlkZS1hcnJvd3Mtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRoZXJvLWFsdC1zbGlkZS1pbmNyZWFzZS1hcnJvd3Mtc2l6ZS1mcm9tKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaGVyby1hbHQtc2xpZGUtaW5jcmVhc2UtYXJyb3dzLXNpemUtZnJvbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2U7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtc21hbGw7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtc21hbGw7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlcm8tYWx0LXNsaWRlLWluY3JlYXNlLWFycm93cy1zaXplLWZyb20pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRoZXJvLWFsdC1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtbGFyZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkaGVyby1hbHQtc2xpZGUtYXJyb3dzLWVuYWJsZWQgPT0gdHJ1ZSB7XG5cbiAgICAgICAgQGlmICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtcG9zaXRpb24gPT0gJ2xlZnQtYW5kLXJpZ2h0LWNlbnRlcmVkJyB7XG4gICAgICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLXNtYWxsICogMik7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlcm8tYWx0LXNsaWRlLWluY3JlYXNlLWFycm93cy1zaXplLWZyb20pIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLWxhcmdlICogMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKCRoZXJvLWFsdC1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZSAqIDQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLWxhcmdlICogNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgLnNsaWNrLW5leHQgIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLXNtYWxsICogMik7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGhlcm8tYWx0LXNsaWRlLWluY3JlYXNlLWFycm93cy1zaXplLWZyb20pIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLSRoZXJvLWFsdC1zbGlkZS1hcnJvd3Mtc2l6ZS1sYXJnZSAqIDIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLWxhcmdlICogNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLWxhcmdlICogNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtcG9zaXRpb24gPT0gJ2JvdHRvbS1jZW50ZXJlZCcge1xuICAgICAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBib3R0b206ICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtYm90dG9tLXBvc2l0aW9uO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGhlcm8tYWx0LXNsaWRlLWFycm93cy1zaXplLXNtYWxsICogNik7XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgICAgICAuc2xpY2stbmV4dCAge1xuICAgICAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBib3R0b206ICRoZXJvLWFsdC1zbGlkZS1hcnJvd3MtYm90dG9tLXBvc2l0aW9uO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kaGVyby1hbHQtc2xpZGUtYXJyb3dzLXNpemUtc21hbGwgKiA2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGJvdHRvbTogJGhlcm8tYWx0LXNsaWRlLWFycm93cy1ib3R0b20tcG9zaXRpb247XG4gICAgfVxuXG5cbi8vXG4vLyAgICAgIEJBQ0tEUk9QXG4vL1xuXG4uYWNfaGVyb19hbHRfYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmFjX2hlcm9fYWx0X2JhY2tkcm9wX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cbi5hY19oZXJvX2FsdF9iYWNrZHJvcF9pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6ICRoZXJvLWFsdC1iYWNrZHJvcC10aWxsLW1lZGl1bS1mYWRlO1xuICAgIG1peC1ibGVuZC1tb2RlOiAkaGVyby1hbHQtYmFja2Ryb3AtdGlsbC1tZWRpdW0tYmxlbmQtbW9kZTtcbiAgICBAaWYgJGhlcm8tYWx0LWJhY2tkcm9wLXRpbGwtbWVkaXVtLWdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBub3JtYWw7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICB9XG59XG5cbi5hY19oZXJvX2FsdF9iYWNrZHJvcF92aWRlby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICB2aWRlbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59XG5cblxuLy9cbi8vICAgICAgTElOSyBUTyBDT05URU5UXG4vL1xuXG4uYWNfaGVyb19hbHRfbGlua190by1jb250ZW50IHtcbiAgICBAaWYgJGhlcm8tYWx0LWxpbmstdG8tY29udGVudC1lbmFibGVkID09IHRydWUgeyAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTExMTtcbiAgICAgICAgYm90dG9tOiAkaGVyby1hbHQtbGluay10by1jb250ZW50LWJvdHRvbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgQGlmICRoZXJvLWFsdC1saW5rLXRvLWNvbnRlbnQtc2hvdy10aWxsLW1lZGl1bSA9PSBmYWxzZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3ZnLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgycHgpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIlxuLyogSU1BR0UgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuW2RhdGEtcy10eXBlPVwiaW1hZ2VcIl0ge1xuXG5cbiAgICBAaW1wb3J0ICdfX2ltYWdlX2dsb2JhbHMnO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvLyBzZXQgaGVpZ2h0IGZvciBsYXJnZVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgXG59IC8vIGVuZCBvZiBzY29wZVxuXG4iLCJcbi8qIElNQUdFIC0gR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vLyByZW5kZXIgZGVmYXVsdHMgd2l0aGluIG1peGluIHRvIGF2b2lkIHNhc3MgZXJyb3Igb2Ygbm90IGNhbGxpbmcgYSBzZWxlY3RvclxuQG1peGluIGRlZmF1bHRzKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBpbmNsdWRlIGRlZmF1bHRzKCk7XG5cbi5hY19pbWFnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuIiwiXG4vKiBJTUFHRSAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5bZGF0YS1zLXR5cGU9XCJpbWFnZS1iZy1maXhlZFwiXSB7XG5cbiAgICBAaW1wb3J0ICdfX2ltYWdlLWJnLWZpeGVkX2dsb2JhbHMnO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvLyBzZXQgaGVpZ2h0IGZvciBsYXJnZVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICBcbn0gLy8gZW5kIG9mIHNjb3BlXG5cbiIsIlxuLyogSU1BR0UgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIHJlbmRlciBkZWZhdWx0cyB3aXRoaW4gbWl4aW4gdG8gYXZvaWQgc2FzcyBlcnJvciBvZiBub3QgY2FsbGluZyBhIHNlbGVjdG9yXG5AbWl4aW4gZGVmYXVsdHMoKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1iYWNrZ3JvdW5kLXByaW1hcnktcmV2ZXJzZWQ7XG59XG5AaW5jbHVkZSBkZWZhdWx0cygpO1xuXG4uYWNfaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgXG4gICAgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICB9XG59XG5cbiIsIi8qIEFDX1NfSU1BR0UtR0FMTEVSWV9GVUxMLVNDUkVFTiAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tei1pbmRleDogNDQ0NDtcbiRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWJhY2tncm91bmQ6IHJnYmEoJGJyYW5kLXNlY29uZGFyeS1kYXJrZXIsIDAuOSk7XG5cbi8vIGNvbnRlbnRcbiRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNvbnRlbnQtYmFja2dyb3VuZDogcmdiYShcbiAgJGJyYW5kLXNlY29uZGFyeS1kYXJrZXIsXG4gIDAuOVxuKTtcbiRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNvbnRlbnQtY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQ7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jb250ZW50LW1heC13aWR0aDogJG1heC1jb250ZW50LTEwMDA7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jb250ZW50LXBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmc7XG5cbi8vIGNsb3NlIGljb25cbiRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tc2l6ZTogNDBweDtcbiRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cyAvXG4gIDI7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jbG9zZS1pY29uLXBhZGRpbmc6IDEycHg7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jbG9zZS1pY29uLWJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jbG9zZS1pY29uLWJhY2tncm91bmQtaG92ZXItY29sb3I6ICRicmFuZC1zZWNvbmRhcnktZGFya2VyO1xuJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvci1kYXJrO1xuJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1ob3Zlci1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodDtcblxuQGltcG9ydCBcIl9faW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9nbG9iYWxzXCI7XG5cbi5pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2l0ZW1faW1hZ2VfY29udGFpbmVyIHtcbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgIH1cbiAgfVxufVxuXG5bZGF0YS1zLXR5cGU9XCJpbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuXCJdIHtcbiAgLnNsaWNrLW5leHQsXG4gIC5zbGljay1wcmV2IHtcbiAgICBzdmcge1xuICAgICAgZmlsbDogd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCJcbi8qIEFDX1NfSU1BR0UtR0FMTEVSWV9GVUxMLVNDUkVFTiAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLXotaW5kZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZCwgaGVpZ2h0IDBzIGxpbmVhciAuM3MsIHZpc2liaWxpdHkgMHMgbGluZWFyIC4zcztcblxuICAgICYuc19hY3RpdmV7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIsIGhlaWdodCAwcyBsaW5lYXIsICBvcGFjaXR5ICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQgLjNzO1xuICAgIH1cbn1cblxuLmFjX2ltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4vL1xuLy8gICAgICBJVEVNXG4vL1xuXG4uaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9pdGVtICB7XG5cbn1cbi5pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2l0ZW1fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy9cbi8vICAgICAgQ09OVEVOVFxuLy9cblxuLmltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5faXRlbV9jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jb250ZW50LWJhY2tncm91bmQ7XG59XG4uaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlbl9pdGVtX2NvbnRlbnRfaW5uZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY29udGVudC1tYXgtd2lkdGg7XG4gICAgcGFkZGluZzogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY29udGVudC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jb250ZW50LWNvbG9yO1xufVxuXG5cblxuLy9cbi8vICAgICAgSU1BR0Vcbi8vXG5cbi5pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2l0ZW1faW1hZ2VfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMHZoO1xufVxuLmltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5faXRlbV9pbWFnZSB7XG5cbn1cblxuXG4vL1xuLy8gICAgICBCVE4gQ0xPU0Vcbi8vXG5cbi5hY19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tc2l6ZTtcbiAgICB6LWluZGV4OiAkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi16LWluZGV4ICsgMTtcbiAgICB0b3A6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tc2l6ZSAvIDI7XG4gICAgcmlnaHQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tc2l6ZSAvIDI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jbG9zZS1pY29uLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24tYm9yZGVyLXJhZGl1cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRvcDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1zaXplO1xuICAgICAgICByaWdodDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1zaXplO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jbG9zZS1pY29uLXNpemUgLSAoJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1wYWRkaW5nICogMik7XG4gICAgICAgIGhlaWdodDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1zaXplICAtICgkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi1jbG9zZS1pY29uLXBhZGRpbmcgKiAyKTtcbiAgICAgICAgZmlsbDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjLWltYWdlLWdhbGxlcnktZnVsbC1zY3JlZW4tY2xvc2UtaWNvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWNsb3NlLWljb24taG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNfYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgIEJBQ0tHUk9VTkRcbi8vXG5cbi5hY19pbWFnZS1nYWxsZXJ5X2Z1bGwtc2NyZWVuX2JhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkYWMtaW1hZ2UtZ2FsbGVyeS1mdWxsLXNjcmVlbi16LWluZGV4IC0gMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkLCBoZWlnaHQgMHMgbGluZWFyIC4zcywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjNzO1xuICAgIGJhY2tncm91bmQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWZ1bGwtc2NyZWVuLWJhY2tncm91bmQ7XG5cbiAgICAmLnNfYWN0aXZlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGxpbmVhciwgaGVpZ2h0IDBzIGxpbmVhciwgIG9wYWNpdHkgLjJzIGVhc2UgLjJzO1xuICAgIH1cbn1cblxuIiwiXG4vKiBBQ19TX0lNQUdFLUdBTExFUlktR1JJRCAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLy8gaXRlbXNcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTIwMDtcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtaGF2ZS1wYWRkaW5nOiB0cnVlO1xuJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1jb2x1bW4tYnJlYWtwb2ludDogODAwcHg7IFxuJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1jb2x1bW4taGVpZ2h0OiA0MDBweDsgXG4kYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW1zLWJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLyAyOyBcblxuLy8gaXRlbVxuJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtZGFyaztcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1tYXJnaW4tYm90dG9tOiAyMHB4OyAvLyB1c2Ugc2FtZSBtZWFzdXJlIHVuaXQgYXMgY29sdW1uIHNwZWNzIFxuJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWNvbnRlbnQtcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZzsgXG4kYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW0tY29udGVudC1hbGlnbjogJ2NjJzsgLy8gbHQsIGxjLCBsYiwgY3QsIGNjLCBjYiwgcnQsIHJjLCByYlxuJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWJvcmRlcjogJGRlZmF1bHQtYm9yZGVyOyAvLyBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlLCBub3QgdGhlIGRpc3BsYXlcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1oYXMtc2hhZG93OiBmYWxzZTtcblxuLy8gaW1hZ2VcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1pbWFnZS1zaXplOiAnY292ZXInOyAvLyBjb250YWluIG9yIGNvdmVyLiBUaGUgSFRNTCBlbGVtZW50IGNhbm5vdCBoYXZlIGEgYV9jb3Zlcl8uLiBjbGFzcy5cbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1pbWFnZS1pbml0aWFsLW9wYWNpdHk6IDE7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW0taW1hZ2UtaG92ZXItb3BhY2l0eTogLjU7XG5cbi8vIGRlc2NyaXB0aW9uXG4kYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW0tZGVzY3JpcHRpb24tZW5hYmxlZDogdHJ1ZTtcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodDtcbiRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi13b3JkLWJyZWFrOiBmYWxzZTtcblxuQGltcG9ydCAnX19pbWFnZS1nYWxsZXJ5X2dyaWRfZ2xvYmFscyc7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjI7XG59XG5cbiBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfb3V0ZXItY29sdW1uIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtY29sdW1uLWhlaWdodCAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbnRhaW5lciB7XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfb3V0ZXItY29sdW1uIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1jb2x1bW4taGVpZ2h0IC8gNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4vKiBBQ19TX0lNQUdFLUdBTExFUlkgLSBHTE9CQUxTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bZGF0YS1zLXR5cGU9XCJpbWFnZS1nYWxsZXJ5LWdyaWRcIl0ge1xuICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29udGFpbmVyIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9vdXRlci1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1heC13aWR0aDogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1tYXgtd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cblxuLy9cbi8vICAgICAgT1VURVIgQ09MVU1OXG4vL1xuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX291dGVyLWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBmaXJzdCBvdXRlciBjb2x1bW5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtY29sdW1uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDMvNSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMy81KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vZmlyc3QgaW5uZXIgY29sdW1uIG9mIGZpcnN0IG91dGVyIGNvbHVtblxuICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2NvbHVtbiB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW1zLWNvbHVtbi1oZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW1zLWNvbHVtbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1jb2x1bW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtY29sdW1uLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8zKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgICAgICAgICAgICAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKCRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtY29sdW1uLWhlaWdodCAvIDIpIC0gJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLW1hcmdpbi1ib3R0b20gO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9zZWNvbmQgY29sdW1uXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1jb2x1bW4tYnJlYWtwb2ludCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW1zLWNvbHVtbi1oZWlnaHQgKiAwLjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtY29sdW1uLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMi8zKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDIvMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBzZWNvbmQgb3V0ZXIgY29sdW1uXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW1zLWNvbHVtbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyLzUpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDIvNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8yKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy9cbi8vICAgICAgQ09MVU1OXG4vL1xuXG5cbi5hY19pbWFnZS1nYWxsZXJ5X2dyaWRfY29sdW1uIHtcbiAgICBoZWlnaHQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtY29sdW1uLWhlaWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5cbi8vXG4vLyAgICAgIElURU1cbi8vXG5cblxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1tYXJnaW4tYm90dG9tO1xuXG4gICAgQGlmICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtaGF2ZS1wYWRkaW5nID09IHRydWUge1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgQGlmICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbXMtaGF2ZS1wYWRkaW5nID09IHRydWUge1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgIH1cbiAgICBcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW1faW1hZ2Uge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWltYWdlLWhvdmVyLW9wYWNpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW1fY29udGVudCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcbn1cblxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgQGlmICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1oYXMtc2hhZG93ID09IHRydWUge1xuICAgICAgICBib3gtc2hhZG93OiAkZGVmYXVsdC1ib3gtc2hhZG93O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW0tYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW1zLWJvcmRlci1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gb3B0aW9uYWxcbn1cblxuXG5cbi8vXG4vLyAgICAgIElNQUdFXG4vL1xuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW1faW1hZ2UtY29udGFpbmVye1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxufVxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1pbWFnZS1pbml0aWFsLW9wYWNpdHk7XG4gICAgYm9yZGVyLXJhZGl1czogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1ib3JkZXItcmFkaXVzO1xuICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIHdpbGwtY2hhbmdlOiBjb250ZW50cztcbiAgICBAaWYgJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWltYWdlLXNpemUgPT0gJ2NvbnRhaW4nIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbn1cblxuXG4vL1xuLy8gICAgICBDT05URU5UXG4vL1xuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9ncmlkX2l0ZW1fY29udGVudHsgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHBhZGRpbmc6ICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1jb250ZW50LXBhZGRpbmc7XG59XG5cblxuXG4vL1xuLy8gICAgICBDT05URU5UIE9WRVIgSU1BR0Vcbi8vXG5cblxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtcy1ib3JkZXItcmFkaXVzO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgIFxufVxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtX2ltYWdlIHtcblxufVxuLmFjX2ltYWdlLWdhbGxlcnlfZ3JpZF9pdGVtX2NvbnRlbnQge1xuXG4gICAgQGlmICRhYy1pbWFnZS1nYWxsZXJ5LWdyaWQtaXRlbS1kZXNjcmlwdGlvbi1lbmFibGVkID09IGZhbHNle1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBpZiAkYWMtaW1hZ2UtZ2FsbGVyeS1ncmlkLWl0ZW0tZGVzY3JpcHRpb24td29yZC1icmVhayA9PSB0cnVlIHtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWRlc2NyaXB0aW9uLWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGNvbnRlbnQtYWxpZ24oJGFjLWltYWdlLWdhbGxlcnktZ3JpZC1pdGVtLWNvbnRlbnQtYWxpZ24pO1xuICAgIH1cblxufVxuXG5cbiIsIlxuXG5AbWl4aW4gY29udGVudC1hbGlnbigkYWxpZ25tZW50KSB7XG4gIFxuICAgIEBpZiAkYWxpZ25tZW50ID09ICdsdCcge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZWlmICRhbGlnbm1lbnQgPT0gJ2xjJyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2VpZiAkYWxpZ25tZW50ID09ICdsYicge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2VpZiAkYWxpZ25tZW50ID09ICdjdCcge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2VpZiAkYWxpZ25tZW50ID09ICdjYycge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZWlmICRhbGlnbm1lbnQgPT0gJ2NiJyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2VpZiAkYWxpZ25tZW50ID09ICdydCcge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIEBlbHNlaWYgJGFsaWdubWVudCA9PSAncmMnIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIEBlbHNlaWYgJGFsaWdubWVudCA9PSAncmInIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn0iLCJcbi8qIEFDX1NfSU1BR0UtR0FMTEVSWS1TTElERVIgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vaXRlbXNcbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW1zLW1heC13aWR0aDogJG1heC1jb250ZW50LTEyMDA7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtcy1oYXZlLXBhZGRpbmc6IGZhbHNlO1xuJGFjLWltYWdlLWdhbGxlcnktaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93OiB0cnVlO1xuXG4vLyBpdGVtXG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWJhY2tncm91bmQ6ICRicmFuZC13aGl0ZTtcbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1czsgXG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrLCAuMSk7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLW1hcmdpbi1ib3R0b206IDIwcHg7IC8vIHVzZSBzYW1lIG1lYXN1cmUgdW5pdCBhcyBjb2x1bW4gc3BlY3MgXG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWNvbnRlbnQtcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZzsgXG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWNvbnRlbnQtYWxpZ246ICdjYyc7IC8vIGx0LCBsYywgbGIsIGN0LCBjYywgY2IsIHJ0LCByYywgcmJcbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tYm9yZGVyOiAkZGVmYXVsdC1ib3JkZXI7IC8vIGRlZmluZXMgdGhlIGFwcGVhcmFuY2UsIG5vdCB0aGUgZGlzcGxheVxuJGFjLWltYWdlLWdhbGxlcnktaXRlbS1oYXMtc2hhZG93OiBmYWxzZTtcblxuLy8gaW1hZ2VcbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0taW1hZ2Utc2l6ZTogJ2NvdmVyJzsgLy8gY29udGFpbiBvciBjb3Zlci4gVGhlIEhUTUwgZWxlbWVudCBjYW5ub3QgaGF2ZSBhIGFfY292ZXJfLi4gY2xhc3MuXG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWltYWdlLWhlaWdodDogMjAwcHg7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWltYWdlLWJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtZGFyaztcbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0taW1hZ2UtaW5pdGlhbC1vcGFjaXR5OiAxO1xuJGFjLWltYWdlLWdhbGxlcnktaXRlbS1pbWFnZS1ob3Zlci1vcGFjaXR5OiAuNTtcblxuLy8gZGVzY3JpcHRpb25cbiRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tZGVzY3JpcHRpb24tZW5hYmxlZDogZmFsc2U7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWRlc2NyaXB0aW9uLWNvbG9yOiAkZGVmYXVsdC10ZXh0LWNvbG9yLWRhcms7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG9yOiAkZGVmYXVsdC10ZXh0LWNvbG9yLWRhcms7XG4kYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWRlc2NyaXB0aW9uLXdvcmQtYnJlYWs6IGZhbHNlO1xuXG5AaW1wb3J0ICdfX2ltYWdlLWdhbGxlcnlfZ2xvYmFscyc7XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4iLCJcbi8qIEFDX1NfSU1BR0UtR0FMTEVSWSAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLmFjX2ltYWdlLWdhbGxlcnlfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXgtd2lkdGg6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW1zLW1heC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy9cbi8vICAgICAgSVRFTVxuLy9cblxuLmFjX2ltYWdlLWdhbGxlcnlfaXRlbSB7XG4gICAgcGFkZGluZzogJGFjLWltYWdlLWdhbGxlcnktaXRlbS1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYgJGFjLWltYWdlLWdhbGxlcnktaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93ID09IHRydWUge1xuICAgICAgICBmbGV4OiAwIDEgcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS8yKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZmxleDogMCAxIHBlcmNlbnRhZ2UoMSk7XG4gICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxKTtcbiAgICB9XG59XG5hLmFjX2ltYWdlLWdhbGxlcnlfaXRlbSB7IFxuICAgICY6aG92ZXIge1xuXG4gICAgICAgIC5hY19pbWFnZS1nYWxsZXJ5X2l0ZW1fY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2ltYWdlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0taW1hZ2UtaG92ZXItb3BhY2l0eTtcbiAgICAgICAgfVxuICAgICAgICAuYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2NvbnRlbnRfaW5uZXIgeyBcbiAgICAgICAgICAgIGNvbG9yOiAkYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tYmFja2dyb3VuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGFjLWltYWdlLWdhbGxlcnktaXRlbS1ib3JkZXItcmFkaXVzO1xufVxuXG5cbi8vXG4vLyAgICAgIElNQUdFXG4vL1xuXG4uYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2ltYWdlX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGFjLWltYWdlLWdhbGxlcnktaXRlbS1pbWFnZS1oZWlnaHQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaWYgJGFjLWltYWdlLWdhbGxlcnktaXRlbS1pbWFnZS1iYWNrZ3JvdW5kICE9IG5vbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWltYWdlLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIEBpZiAkYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWJvcmRlci1yYWRpdXMgIT0gMCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICB9XG59XG4uYWNfaW1hZ2UtZ2FsbGVyeV9pdGVtX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0taW1hZ2UtaW5pdGlhbC1vcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIGJvcmRlci1yYWRpdXM6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tYm9yZGVyLXJhZGl1cztcblxuICAgIEBpZiAkYWMtaW1hZ2UtZ2FsbGVyeS1pdGVtLWltYWdlLXNpemUgPT0gJ2NvbnRhaW4ne1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG59XG5cblxuLy9cbi8vICAgICAgQ09OVEVOVFxuLy9cblxuLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiAgICBib3JkZXItdG9wOiAkZGVmYXVsdC1ib3JkZXI7XG4gICAgQGlmICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tZGVzY3JpcHRpb24tZW5hYmxlZCA9PSBmYWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmFjX2ltYWdlLWdhbGxlcnlfaXRlbV9jb250ZW50X2lubmVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgY29sb3I6ICRhYy1pbWFnZS1nYWxsZXJ5LWl0ZW0tZGVzY3JpcHRpb24tY29sb3I7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgIH1cbn1cbiIsIlxuLyogQ1RBXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuW2RhdGEtcy10eXBlPVwibWFwc1wiXSB7XG4gICAgXG4gICAgLmFjX21hcHNfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG5cbiAgICB9XG4gICAgXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxufSAvLyBlbmQgb2Ygc2NvcGVcblxuXG4iLCJcbi8qIEFDX1NfTkVXUyAtIDFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuW2RhdGEtcy10eXBlPVwibmV3c1wiXSB7XG5cbiAgICAvLyBpdGVtc1xuICAgICRpdGVtcy1zbGlkZXI6IGZhbHNlO1xuICAgICRpdGVtcy1zbGlkZXItZm91Yy1oZWlnaHQ6IDIwMHB4OyAvLyB3aGF0IG5lZWRzIHRvIGJlIHRoZSBmbGFzaC1vZi11bndhbnRlZC1jb250ZW50IGhlaWdodCBiZWZvcmUgc2xpZGVyIGhhcyBsYW9kZWQuXG5cbiAgICAkaXRlbXMtYW1vdW50OiAwOyAvLyAwIGNvdW50cyBmb3IgdW5kZWZpbmVkLCBpZiBhc3NpZ25lZCB0aGUgY29kZSB3aWxsIGJlIG1vcmUgb3B0aW1pc2VkXG4gICAgJGl0ZW1zLWNvbnRlbnQtb3Zlci1pbWFnZTogdHJ1ZTtcbiAgICAkaXRlbXMtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTAwMDtcbiAgICAkaXRlbXMtaGF2ZS1wYWRkaW5nOiB0cnVlO1xuICAgICRpdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVyczogZmFsc2U7XG4gICAgJGl0ZW1zLWhhdmUtYm9yZGVyLWJlbG93OiB0cnVlO1xuICAgICRpdGVtcy1oaWRlLWJvcmRlci1iZWxvdy1vbi1sYXN0LXJvdzogZmFsc2U7XG4gICAgJGl0ZW1zLWJvcmRlci1yYWRpdXM6IDA7IFxuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGg6IGZhbHNlO1xuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGgtaGVpZ2h0LW11bHRpcGxpZXI6IDEuNTtcbiAgICAkaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93OiB0cnVlO1xuICAgICRpdGVtLWJhY2tncm91bmQ6IG5vbmU7XG4gICAgJGl0ZW0tYmFja2dyb3VuZC1ob3Zlcjogbm9uZTtcblxuICAgIC8vIGNvbHVtbnNcbiAgICAkaXRlbXMtY29sdW1ucy1lbmFibGVkOiBmYWxzZTtcbiAgICAkaXRlbXMtY29sdW1ucy1icmVha3BvaW50OiA4MDBweDsgXG4gICAgJGl0ZW1zLWNvbHVtbnMtaGVpZ2h0OiA0MDBweDsgXG4gICAgJGl0ZW1zLWNvbHVtbnMtaGlkZS1sYXN0LW9uZS1iZWxvdy1icmVha3BvaW50OiBmYWxzZTtcbiAgICAkaXRlbXMtY29sdW1ucy1pY29uLWltYWdlLWNvbWJpbmF0aW9uOiB0cnVlO1xuXG4gICAgLy8gaXRlbVxuICAgICRpdGVtLW1hcmdpbi1ib3R0b206IDEuNGVtOyAvLyAxLjRlbVxuICAgICRpdGVtLWJvcmRlcjogJGRlZmF1bHQtYm9yZGVyOyAvLyBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlLCBub3QgdGhlIGRpc3BsYXlcbiAgICAkaXRlbS1zaGFkb3ctZW5hYmxlZDogZmFsc2U7XG5cbiAgICAvLyBpbWFnZVxuICAgICRpdGVtLWltYWdlLWNvbnRhaW5lci1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWltYWdlLWVuYWJsZWQ6IHRydWU7XG4gICAgJGl0ZW0taW1hZ2UtaGVpZ2h0OiAzNjBweDtcbiAgICAkaXRlbS1pbWFnZS1pbml0aWFsLWZhZGU6IC44O1xuICAgICRpdGVtLWltYWdlLWhvdmVyLWZhZGU6IC42O1xuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZTogdHJ1ZTsgLy8gd2hlbiBpdGVtLWNvbnRlbnQtb3Zlci1pbWFnZVxuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtZ3JhZGllbnQtYmVmb3JlLXBvc2l0aW9uOiAnYm90dG9tJzsgLy8gdG9wIG9yIGJvdHRvbVxuICAgICRpdGVtLWltYWdlLWJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtZGFyaztcbiAgICAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1czsgXG5cblxuICAgIC8vIGNvbnRlbnRcbiAgICAkaXRlbS1jb250ZW50LXBhZGRpbmc6IDA7IC8vICRkZWZhdWx0LXBhZGRpbmc7IFxuICAgICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZDogbm9uZTtcbiAgICAkaXRlbS1jb250ZW50LWJhY2tncm91bmQtaG92ZXI6IG5vbmU7XG4gICAgJGl0ZW0tY29udGVudC1hbGlnbjogJ2xiJzsgLy8gbHQsIGxjLCBsYiwgY3QsIGNjLCBjYiwgcnQsIHJjLCByYiB8fCAgd2hlbiBpdGVtLWNvbnRlbnQtb3Zlci1pbWFnZVxuICAgICRpdGVtLWNvbnRlbnQtY29weS1wYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nIDNlbSAkZGVmYXVsdC1wYWRkaW5nICAwOyBcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWxpZ246ICdsZWZ0JzsgLy8gbGVmdCBvciBjZW50ZXJcblxuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1lbmFibGVkOiBmYWxzZTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tY2VudGVyZWQ6IHRydWU7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWNvbG9yOiByZ2JhKCRkZWZhdWx0LWljb24tY29sb3IsIDEpO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAuNCk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXNpemU6IDgwcHg7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXBhZGRpbmc6IDIwcHg7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLW1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAkaXRlbS1jb250ZW50LWljb24tYmFja2dyb3VuZDogJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodDtcbiAgICAkaXRlbS1jb250ZW50LWljb24tYmFja2dyb3VuZC1ob3ZlcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1yb3VuZDogdHJ1ZTtcbiAgICBcbiAgICAkaXRlbS1jb250ZW50LXRpdGxlLWVuYWJsZWQ6IHRydWU7IFxuICAgICRpdGVtLWNvbnRlbnQtdGl0bGUtY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3I7XG4gICAgJGl0ZW0tY29udGVudC10aXRsZS1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLCAuNik7XG5cbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtZW5hYmxlZDogdHJ1ZTsgICAgXG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWFib3ZlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIC42KTtcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtaG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvciwgLjQpO1xuXG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWVuYWJsZWQ6IHRydWU7ICAgIFxuICAgICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLCAuNik7XG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIC40KTtcblxuICAgIC8vIGljb25cbiAgICAkaXRlbS1zaG93LWljb246IHRydWU7XG4gICAgJGl0ZW0taWNvbi1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLCAuNik7XG4gICAgJGl0ZW0taWNvbi1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAxKTtcbiAgICAkaXRlbS1pY29uLXNpemU6IDEuNmVtO1xuICAgICRpdGVtLWljb24tcG9zaXRpb246ICdyYic7IC8vIGx0LCBsYiwgcnQsIHJiXG4gICAgJGl0ZW0taWNvbi1pbnNldC1sZWZ0LXJpZ2h0OiAkZGVmYXVsdC1wYWRkaW5nOyBcbiAgICAkaXRlbS1pY29uLWluc2V0LXRvcC1ib3R0b206ICRkZWZhdWx0LXBhZGRpbmc7IFxuICAgIFxuXG4gICAgLy8gbGlzdCBzdHlsZSBvbiBzbWFsbCB8IGltYWdlIGxlZnQgYW5kIGNvbnRlbnQgcmlnaHQgfCBhbGwgYmFja2dyb3VuZCB3aWxsIGJlIHJlc2V0IHwgY29udGVudCBpY29uIGlzIHNldCBhYnNvbHV0ZVxuICAgICRpdGVtLWxpc3Qtc3R5bGUtb24tc21hbGw6IHRydWU7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtaW1hZ2Utd2lkdGg6IDgwcHg7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tc2l6ZTogNjBweDsgXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tcGFkZGluZzogMTRweDsgXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tYmFja2dyb3VuZDogJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodDtcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvcjtcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtdGl0bGUtY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvciwgMSk7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWNvcHktYWJvdmUtY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvciwgMSk7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWNvcHktYmVsb3ctY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvciwgMSk7XG5cblxuICAgIEBpbXBvcnQgJy4uL2FjX3NfX2l0ZW1zLWdsb2JhbHMvX19pdGVtX2dsb2JhbHMnO1xuICAgIFxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuICAgIC5hY19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWNfaXRlbV9jb250ZW50X2NvcHkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkgeyBcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjX2l0ZW1fY29udGVudF9jb3B5LWFib3ZlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiA4NSU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuICAgIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtaGVhZGluZ3MtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxMjAlO1xuICAgIH1cbiAgICAuYWNfaXRlbV9jb250ZW50X2NvcHktYmVsb3cge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDg1JTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG5cbiAgICAuYWNfaXRlbV9pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgZmlsbDogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLCAuNSk7XG4gICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG59IC8vIGVuZCBzY29wZSIsIlxuLyogSVRFTSAgR0xPQkFMU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0ICdpdGVtX2dsb2JhbF9jb250YWluZXInO1xuQGltcG9ydCAnaXRlbV9nbG9iYWxfaXRlbSc7XG5AaW1wb3J0ICdpdGVtX2dsb2JhbF9pdGVtLWhvdmVyLXN0YXRlcyc7XG5AaW1wb3J0ICdpdGVtX2dsb2JhbF9saXN0LXN0eWxlLXNtYWxsJztcbkBpbXBvcnQgJ2l0ZW1fZ2xvYmFsX2JvcmRlci1yZXNwb25zaXZlbmVzcyc7XG5AaW1wb3J0ICdpdGVtX2dsb2JhbF9pbWFnZSc7XG5AaW1wb3J0ICdpdGVtX2dsb2JhbF9pY29uJztcbkBpbXBvcnQgJ2l0ZW1fZ2xvYmFsX2NvbnRlbnQnO1xuQGltcG9ydCAnaXRlbV9nbG9iYWxfY29udGVudC1vdmVyLWltYWdlJztcblxuQGltcG9ydCAnaXRlbV9nbG9iYWxfc2xpZGVyJztcbkBpbXBvcnQgJ2l0ZW1fZ2xvYmFsX2NvbHVtbnMnO1xuIiwiLy9cbi8vICAgICAgQ09OVEFJTkVSXG4vL1xuXG4uYWNfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW46IDJlbSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGlmICRpdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVycyA9PSBmYWxzZSBhbmQgJGl0ZW1zLWhhdmUtcGFkZGluZyA9PSB0cnVlIHtcbiAgICAgICAgcGFkZGluZzogMCAkZGVmYXVsdC1wYWRkaW5nIC8gMjtcbiAgICB9XG59IiwiXG4vL1xuLy8gICAgICBJVEVNXG4vL1xuLmFjX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgQGlmICRpdGVtcy1vbi1zbWFsbC10d28taXRlbXMtYS1yb3cgPT0gdHJ1ZSBhbmQgJGl0ZW0tbGlzdC1zdHlsZS1vbi1zbWFsbCA9PSBmYWxzZSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpZiAkaXRlbS1tYXJnaW4tYm90dG9tICE9IDAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaXRlbS1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgIEBpZiAkaXRlbXMtaGF2ZS1wYWRkaW5nID09IHRydWUge1xuICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgQGlmICRpdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVycyA9PSB0cnVlIHtcbiAgICAgICAgQGlmICRpdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRpdGVtLWJvcmRlcjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICRpdGVtcy1oYXZlLXBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGggPT0gdHJ1ZSB7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBAaWYgJGl0ZW0tbGlzdC1zdHlsZS1vbi1zbWFsbCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGl0ZW0taW1hZ2UtaGVpZ2h0ICogJGl0ZW1zLWZpcnN0LWl0ZW0tZnVsbC13aWR0aC1oZWlnaHQtbXVsdGlwbGllcjsgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRpdGVtLWltYWdlLWhlaWdodCAqICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGgtaGVpZ2h0LW11bHRpcGxpZXI7ICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNfaXRlbV9jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIEBpZiAkaXRlbS1zaGFkb3ctZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94LXNoYWRvdztcbiAgICB9XG4gICAgQGlmICRpdGVtcy1oYXZlLWJvcmRlci1iZWxvdyA9PSB0cnVlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGl0ZW0tYm9yZGVyO1xuICAgIH1cbiAgICBAaWYgJGl0ZW0tYmFja2dyb3VuZCAhPSBub25lIG9yICRpdGVtLWJhY2tncm91bmQgIT0gdHJhbnNwYXJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaXRlbS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBAaWYgJGl0ZW1zLWJvcmRlci1yYWRpdXMgIT0gMCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRpdGVtcy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbn1cbiIsIlxuLy9cbi8vICAgICAgSVRFTSBIT1ZFUiBTVEFURVNcbi8vXG5cblxuYS5hY19pdGVtIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGlmICRpdGVtLWltYWdlLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1faW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkaXRlbS1pbWFnZS1ob3Zlci1mYWRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAgJGl0ZW0taW1hZ2UtY29udGFpbmVyLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVye1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY19pdGVtX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpZiAkaXRlbS1jb250ZW50LWJhY2tncm91bmQtaG92ZXIgIT0gbm9uZSBvciAkaXRlbS1jb250ZW50LWJhY2tncm91bmQtaG92ZXIgIT0gMCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC1pY29uLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1fY29udGVudF9pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGl0ZW0tY29udGVudC1pY29uLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHN2Zy1pY29uLXNldC10eXBlID09ICdmaWxsJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGl0ZW0tY29udGVudC1pY29uLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZWlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnc3Ryb2tlJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkaXRlbS1jb250ZW50LWljb24taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC10aXRsZS1lbmFibGVkID09IHRydWUge1xuICAgICAgICAgICAgICAgIC5hY19pdGVtX2NvbnRlbnRfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGl0ZW0tY29udGVudC10aXRsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC1jb3B5LWFib3ZlLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1fY29udGVudF9jb3B5LWFib3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1fY29udGVudF9jb3B5LWJlbG93IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC1pY29uLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkaXRlbS1pY29uLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBcbn0iLCJcbi8vXG4vLyAgICAgIExJU1QgU1RZTEUgU01BTExcbi8vXG5cblxuLmFjX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBAaWYgJGl0ZW0tbGlzdC1zdHlsZS1vbi1zbWFsbCA9PSB0cnVlIHtcblxuICAgICAgICAgICAgQGlmICRpdGVtcy1jb250ZW50LW92ZXItaW1hZ2UgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY19pdGVtX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgLy9taW4taGVpZ2h0OiAkaXRlbS1saXN0LXN0eWxlLWltYWdlLXdpZHRoICsgJGRlZmF1bHQtcGFkZGluZztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVye1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkaXRlbS1saXN0LXN0eWxlLWltYWdlLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGl0ZW0tbGlzdC1zdHlsZS1pbWFnZS13aWR0aDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWNfaXRlbV9jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGl0ZW0tbGlzdC1zdHlsZS1pbWFnZS13aWR0aCArICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC1pY29uLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1fY29udGVudF9pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1zaXplO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXNpemU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tc2l6ZSAtICgkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1wYWRkaW5nICogMik7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXNpemUgLSAoJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnZmlsbCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZWlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnc3Ryb2tlJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY19pdGVtX2NvbnRlbnRfY29weSB7XG4gICAgICAgICAgICAgICAgQGlmICRpdGVtLWltYWdlLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRkZWZhdWx0LXBhZGRpbmcgKyAkaXRlbS1saXN0LXN0eWxlLWltYWdlLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAvL21heC13aWR0aDogY2FsYygxMDB2dyAtICgjeyRkZWZhdWx0LXBhZGRpbmd9ICsgI3skaXRlbS1saXN0LXN0eWxlLWltYWdlLXdpZHRofSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGVmYXVsdC1wYWRkaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRpdGVtLWNvbnRlbnQtdGl0bGUtZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGl0ZW0tY29udGVudC1jb3B5LWFib3ZlLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX2l0ZW1fY29udGVudF9jb3B5LWFib3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWFib3ZlLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkaXRlbS1jb250ZW50LWNvcHktYmVsb3ctZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAuYWNfaXRlbV9jb250ZW50X2NvcHktYmVsb3cge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWNvcHktYmVsb3ctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgW2RhdGEtYm9yZGVyLWJvdHRvbV0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRpdGVtLWJvcmRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vXG4vLyAgICAgIElNQUdFXG4vL1xuXG4uYWNfaXRlbV9pbWFnZS1jb250YWluZXJ7XG4gICAgQGlmICRpdGVtLWltYWdlLWNvbnRhaW5lci1lbmFibGVkID09IHRydWV7XG4gICAgICAgIGhlaWdodDogJGl0ZW0taW1hZ2UtaGVpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgQGlmICRpdGVtLWltYWdlLWJhY2tncm91bmQtY29sb3IgIT0gbm9uZSBvciAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yICE9IDAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGl0ZW0taW1hZ2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taW1hZ2UtYm9yZGVyLXJhZGl1cyAhPSAwIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRpdGVtLWltYWdlLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uYWNfaXRlbV9pbWFnZSB7XG4gICAgQGlmICRpdGVtLWltYWdlLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAkaXRlbS1pbWFnZS1pbml0aWFsLWZhZGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgICB3aWxsLWNoYW5nZTogY29udGVudHM7XG4gICAgICAgIEBpZiAkaXRlbS1pbWFnZS1ib3JkZXItcmFkaXVzICE9IDAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGl0ZW0taW1hZ2UtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIlxuLy9cbi8vICAgICAgSUNPTiAvLyBlLmcuIGFuIGFycm93XG4vL1xuXG4uYWNfaXRlbV9pY29uIHtcbiAgICBAaWYgJGl0ZW0tc2hvdy1pY29uID09IHRydWUge1xuICAgICAgICBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB3aWR0aDogJGl0ZW0taWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRpdGVtLWljb24tc2l6ZTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRpdGVtLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGl0ZW0taWNvbi1zaXplO1xuICAgICAgICAgICAgZmlsbDogJGl0ZW0taWNvbi1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taWNvbi1wb3NpdGlvbiA9PSAncnQnIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkaXRlbS1pY29uLWluc2V0LWxlZnQtcmlnaHQ7XG4gICAgICAgICAgICB0b3A6ICRpdGVtLWljb24taW5zZXQtdG9wLWJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taWNvbi1wb3NpdGlvbiA9PSAncmInIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkaXRlbS1pY29uLWluc2V0LWxlZnQtcmlnaHQ7XG4gICAgICAgICAgICBib3R0b206ICRpdGVtLWljb24taW5zZXQtdG9wLWJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taWNvbi1wb3NpdGlvbiA9PSAnbGInIHtcbiAgICAgICAgICAgIGxlZnQ6ICRpdGVtLWljb24taW5zZXQtbGVmdC1yaWdodDtcbiAgICAgICAgICAgIGJvdHRvbTogJGl0ZW0taWNvbi1pbnNldC10b3AtYm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkaXRlbS1pY29uLXBvc2l0aW9uID09ICdsdCcge1xuICAgICAgICAgICAgbGVmdDogJGl0ZW0taWNvbi1pbnNldC1sZWZ0LXJpZ2h0O1xuICAgICAgICAgICAgdG9wOiAkaXRlbS1pY29uLWluc2V0LXRvcC1ib3R0b207XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG59XG4iLCIvL1xuLy8gICAgICBDT05URU5UXG4vL1xuXG4uYWNfaXRlbV9jb250ZW50e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBwYWRkaW5nOiAkaXRlbS1jb250ZW50LXBhZGRpbmc7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgQGlmICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZCAhPSBub25lIG9yICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZCAhPSB0cmFuc3BhcmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgICB9XG59XG4uYWNfaXRlbV9jb250ZW50X2NvcHkge1xuICAgIHBhZGRpbmc6ICRpdGVtLWNvbnRlbnQtY29weS1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIEBpZiAkaXRlbS1jb250ZW50LWNvcHktYWxpZ24gPT0gJ2NlbnRlcicge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgKiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xuICAgIH1cbn1cblxuQGlmICAkaXRlbS1jb250ZW50LWljb24tZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAuYWNfaXRlbV9jb250ZW50X2ljb25fY29udGFpbmVyIHtcbiAgICAgICAgQGlmICRpdGVtLWNvbnRlbnQtaWNvbi1jZW50ZXJlZCA9PSB0cnVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWNfaXRlbV9jb250ZW50X2ljb24ge1xuICAgICAgICB3aWR0aDogJGl0ZW0tY29udGVudC1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJGl0ZW0tY29udGVudC1pY29uLXNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpdGVtLWNvbnRlbnQtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAkaXRlbS1jb250ZW50LWljb24tcGFkZGluZztcbiAgICAgICAgbWFyZ2luOiAkaXRlbS1jb250ZW50LWljb24tbWFyZ2luO1xuICAgICAgICBcbiAgICAgICAgQGlmICRpdGVtLWNvbnRlbnQtaWNvbi1yb3VuZCA9PSB0cnVlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAkaXRlbS1jb250ZW50LWljb24tc2l6ZSAtICgkaXRlbS1jb250ZW50LWljb24tcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgaGVpZ2h0OiAkaXRlbS1jb250ZW50LWljb24tc2l6ZSAtICgkaXRlbS1jb250ZW50LWljb24tcGFkZGluZyAqIDIpO1xuICAgICAgICAgICAgQGlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnZmlsbCcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRpdGVtLWNvbnRlbnQtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH0gQGVsc2VpZiAkc3ZnLWljb24tc2V0LXR5cGUgPT0gJ3N0cm9rZScge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJGl0ZW0tY29udGVudC1pY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSBAZWxzZSB7XG4gICAgLmFjX2l0ZW1fY29udGVudF9pY29uX2NvbnRhaW5lciB7IFxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4uYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBAaWYgJGl0ZW0tY29udGVudC10aXRsZS1lbmFibGVkID09IHRydWUge1xuICAgICAgICBjb2xvcjogJGl0ZW0tY29udGVudC10aXRsZS1jb2xvcjtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uYWNfaXRlbV9jb250ZW50X2NvcHktYWJvdmUge1xuICAgIEBpZiAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtZW5hYmxlZCA9PSB0cnVle1xuICAgICAgICBjb2xvcjogJGl0ZW0tY29udGVudC1jb3B5LWFib3ZlLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5hY19pdGVtX2NvbnRlbnRfY29weS1iZWxvdyB7XG4gICAgQGlmICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1lbmFibGVkID09IHRydWV7XG4gICAgICAgIGNvbG9yOiAkaXRlbS1jb250ZW50LWNvcHktYmVsb3ctY29sb3I7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgIElDT04gLy8gZS5nLiBhbiBhcnJvd1xuLy9cblxuLmFjX2l0ZW1faWNvbiB7XG4gICAgQGlmICRpdGVtLXNob3ctaWNvbiA9PSB0cnVlIHtcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6ICRpdGVtLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkaXRlbS1pY29uLXNpemU7XG4gICAgICAgIFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRpdGVtLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGl0ZW0taWNvbi1zaXplO1xuICAgICAgICAgICAgZmlsbDogJGl0ZW0taWNvbi1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taWNvbi1wb3NpdGlvbiA9PSAncnQnIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkaXRlbS1pY29uLWluc2V0LWxlZnQtcmlnaHQ7XG4gICAgICAgICAgICB0b3A6ICRpdGVtLWljb24taW5zZXQtdG9wLWJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taWNvbi1wb3NpdGlvbiA9PSAncmInIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkaXRlbS1pY29uLWluc2V0LWxlZnQtcmlnaHQ7XG4gICAgICAgICAgICBib3R0b206ICRpdGVtLWljb24taW5zZXQtdG9wLWJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGl0ZW0taWNvbi1wb3NpdGlvbiA9PSAnbGInIHtcbiAgICAgICAgICAgIGxlZnQ6ICRpdGVtLWljb24taW5zZXQtbGVmdC1yaWdodDtcbiAgICAgICAgICAgIGJvdHRvbTogJGl0ZW0taWNvbi1pbnNldC10b3AtYm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkaXRlbS1pY29uLXBvc2l0aW9uID09ICdsdCcge1xuICAgICAgICAgICAgbGVmdDogJGl0ZW0taWNvbi1pbnNldC1sZWZ0LXJpZ2h0O1xuICAgICAgICAgICAgdG9wOiAkaXRlbS1pY29uLWluc2V0LXRvcC1ib3R0b207XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG59XG4iLCIvL1xuLy8gICAgICBDT05URU5UIE9WRVIgSU1BR0Vcbi8vXG5AbWl4aW4gY29udGVudC1vdmVyLWltYWdlKCkge1xuICAgIC5hY19pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAkaXRlbS1pbWFnZS1oZWlnaHQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAkaXRlbS1pbWFnZS1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGggPT0gdHJ1ZSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaXRlbS1pbWFnZS1oZWlnaHQgKiAkaXRlbXMtZmlyc3QtaXRlbS1mdWxsLXdpZHRoLWhlaWdodC1tdWx0aXBsaWVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgQGlmICRpdGVtcy1ib3JkZXItcmFkaXVzICE9IDAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGl0ZW1zLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cblxuICAgICAgICBAaWYgJGl0ZW0taW1hZ2UtZ3JhZGllbnQtYmVmb3JlID09IHRydWUge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAkZ3JhZGllbnQtZGVncmVlczogMGRlZztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGlmICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZS1wb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgICAgICAgICAgJGdyYWRpZW50LWRlZ3JlZXM6IDE4MGRlZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRncmFkaWVudC1kZWdyZWVzLCByZ2JhKCRpdGVtLWltYWdlLWdyYWRpZW50LWNvbG9yLCAwKSwgcmdiYSgkaXRlbS1pbWFnZS1ncmFkaWVudC1jb2xvciwgMSkpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgQGlmICRpdGVtcy1ib3JkZXItcmFkaXVzICE9IDAge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkaXRlbXMtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZS1wb3NpdGlvbiA9PSAnYm90dG9tJyB7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5hY19pdGVtX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgLy8gd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICBAaW5jbHVkZSBjb250ZW50LWFsaWduKCRpdGVtLWNvbnRlbnQtYWxpZ24pO1xuXG4gICAgfVxuICAgIC5hY19pdGVtX2NvbnRhaW5lciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG5cbkBpZiAkaXRlbXMtY29udGVudC1vdmVyLWltYWdlID09IHRydWUge1xuXG4gICAgQGluY2x1ZGUgY29udGVudC1vdmVyLWltYWdlKCk7XG5cbn0iLCIvL1xuLy8gICAgICBJRiBTTElERVJcbi8vXG5cblxuW2RhdGEtaW5pdC1zbGlja10ge1xuICAgXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogaW5oZXJpdDsgLy8gc2xpY2sgc2xpZGVyIHdpbGwgaGFuZGxlIHotaW5kZXhcblxuICAgIC8vc2xpY2sgZnVvYyBmaXhcbiAgICBtYXgtaGVpZ2h0OiAkaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICAvLyBkcm9wIGZvdWMgaWYgc2xpY2sgaXMgaW5pdGlhbGl6ZWRcbiAgICAmLnNsaWNrLWluaXRpYWxpemVkICB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBcblxuICAgIFtkYXRhLXMtYW1vdW50LWl0ZW1dIHtcbiAgICAvLyBiZWNhdXNlIGFsbCBpdGVtcyBhcmUgaW4gb25lIGxpbmUsIG1hcmdpbiBvbiB0aGUgYm90dG9tIG1ha2Ugbm8gc2Vuc2VcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBvdmVycnVsZSBib3JkZXIgbGVmdCBiZWhhdmlvdXJcbiAgICBAaWYgJGl0ZW1zLWhhdmUtYm9yZGVyLWRpdmlkZXJzID09IHRydWUge1xuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnNsaWNrLWFjdGl2ZSB+IC5zbGljay1hY3RpdmV7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGl0ZW0tYm9yZGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiBhbW91bnQgb24gc21hbGwgPT0gMSwgd2UgY2FuIGhpZGUgdGhlIGJvcmRlciBhbGwgdG9nZXRoZXIuIFRoaXMgYWxzbyBwcmV2ZW50cyBjb250ZW50IGdyb3cgZmxpY2tlcnNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgW2RhdGEtcy1hbW91bnQtaXRlbV0ge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIlxuLyogUkVGRVJFTkNFUyAtIDJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuW2RhdGEtcy10eXBlPVwicmVmZXJlbmNlc1wiXSB7XG5cbiAgICAvLyBpdGVtcyBzbGlkZXJcbiAgICAkaXRlbXMtc2xpZGVyOiBmYWxzZTtcbiAgICAkaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0OiAyMDBweDsgLy8gd2hhdCBuZWVkcyB0byBiZSB0aGUgZmxhc2gtb2YtdW53YW50ZWQtY29udGVudCBoZWlnaHQgYmVmb3JlIHNsaWRlciBoYXMgbGFvZGVkLlxuXG4gICAgLy8gaXRlbXNcbiAgICAkaXRlbXMtYW1vdW50OiAwOyAvLyAwIGNvdW50cyBmb3IgdW5kZWZpbmVkLCBpZiBhc3NpZ25lZCB0aGUgY29kZSB3aWxsIGJlIG1vcmUgb3B0aW1pc2VkXG4gICAgJGl0ZW1zLWNvbnRlbnQtb3Zlci1pbWFnZTogdHJ1ZTtcbiAgICAkaXRlbXMtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTAwMDtcbiAgICAkaXRlbXMtaGF2ZS1wYWRkaW5nOiB0cnVlO1xuICAgICRpdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVyczogZmFsc2U7XG4gICAgJGl0ZW1zLWhhdmUtYm9yZGVyLWJlbG93OiBmYWxzZTtcbiAgICAkaXRlbXMtaGlkZS1ib3JkZXItYmVsb3ctb24tbGFzdC1yb3c6IHRydWU7XG4gICAgJGl0ZW1zLWJvcmRlci1yYWRpdXM6IDA7IFxuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGg6IGZhbHNlO1xuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGgtaGVpZ2h0LW11bHRpcGxpZXI6IDEuNTtcbiAgICAkaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93OiBmYWxzZTtcbiAgICAkaXRlbS1iYWNrZ3JvdW5kOiBub25lO1xuICAgICRpdGVtLWJhY2tncm91bmQtaG92ZXI6IG5vbmU7XG5cbiAgICAvLyBjb2x1bW5zXG4gICAgJGl0ZW1zLWNvbHVtbnMtZW5hYmxlZDogZmFsc2U7XG4gICAgJGl0ZW1zLWNvbHVtbnMtYnJlYWtwb2ludDogODAwcHg7IFxuICAgICRpdGVtcy1jb2x1bW5zLWhlaWdodDogNDAwcHg7IFxuICAgICRpdGVtcy1jb2x1bW5zLWhpZGUtbGFzdC1vbmUtYmVsb3ctYnJlYWtwb2ludDogZmFsc2U7XG4gICAgJGl0ZW1zLWNvbHVtbnMtaWNvbi1pbWFnZS1jb21iaW5hdGlvbjogdHJ1ZTtcblxuICAgIC8vIGl0ZW1cbiAgICAkaXRlbS1tYXJnaW4tYm90dG9tOiAxLjRlbTsgLy8gMS40ZW1cbiAgICAkaXRlbS1ib3JkZXI6ICRkZWZhdWx0LWJvcmRlcjsgLy8gZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSwgbm90IHRoZSBkaXNwbGF5XG4gICAgJGl0ZW0tc2hhZG93LWVuYWJsZWQ6IGZhbHNlO1xuXG4gICAgLy8gaW1hZ2VcbiAgICAkaXRlbS1pbWFnZS1jb250YWluZXItZW5hYmxlZDogdHJ1ZTtcbiAgICAkaXRlbS1pbWFnZS1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWltYWdlLWhlaWdodDogMjQwcHg7XG4gICAgJGl0ZW0taW1hZ2UtaW5pdGlhbC1mYWRlOiAuNjtcbiAgICAkaXRlbS1pbWFnZS1ob3Zlci1mYWRlOiAuNDtcbiAgICAkaXRlbS1pbWFnZS1ncmFkaWVudC1iZWZvcmU6IHRydWU7IC8vIHdoZW4gaXRlbS1jb250ZW50LW92ZXItaW1hZ2VcbiAgICAkaXRlbS1pbWFnZS1ncmFkaWVudC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZS1wb3NpdGlvbjogJ2JvdHRvbSc7IC8vIHRvcCBvciBib3R0b21cbiAgICAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuICAgICRpdGVtLWltYWdlLWJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7IFxuXG4gICAgLy8gY29udGVudFxuICAgICRpdGVtLWNvbnRlbnQtcGFkZGluZzogICRkZWZhdWx0LXBhZGRpbmc7IFxuICAgICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZDogbm9uZTtcbiAgICAkaXRlbS1jb250ZW50LWJhY2tncm91bmQtaG92ZXI6IG5vbmU7XG4gICAgJGl0ZW0tY29udGVudC1hbGlnbjogJ2NjJzsgLy8gbHQsIGxjLCBsYiwgY3QsIGNjLCBjYiwgcnQsIHJjLCByYiB8fCAgd2hlbiBpdGVtLWNvbnRlbnQtb3Zlci1pbWFnZVxuICAgICRpdGVtLWNvbnRlbnQtY29weS1wYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nIDAgOyBcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWxpZ246ICdsZWZ0JzsgLy8gbGVmdCBvciBjZW50ZXJcblxuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1jZW50ZXJlZDogdHJ1ZTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgMSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LWljb24tY29sb3ItZGFyaywgMSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXNpemU6IDgwcHg7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXBhZGRpbmc6IDEwcHg7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLW1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAkaXRlbS1jb250ZW50LWljb24tYmFja2dyb3VuZDogcmdiYSgkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0LCAuNSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodCwgMSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXJvdW5kOiB0cnVlO1xuICAgIFxuICAgICRpdGVtLWNvbnRlbnQtdGl0bGUtZW5hYmxlZDogdHJ1ZTsgXG4gICAgJGl0ZW0tY29udGVudC10aXRsZS1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodDtcbiAgICAkaXRlbS1jb250ZW50LXRpdGxlLWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC42KTtcblxuICAgICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1lbmFibGVkOiB0cnVlOyAgICBcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodCwgLjYpO1xuICAgICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNCk7XG5cbiAgICAkaXRlbS1jb250ZW50LWNvcHktYmVsb3ctZW5hYmxlZDogZmFsc2U7ICAgIFxuICAgICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNik7XG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC40KTtcblxuICAgIC8vIGljb25cbiAgICAkaXRlbS1zaG93LWljb246IHRydWU7XG4gICAgJGl0ZW0taWNvbi1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAuNCk7XG4gICAgJGl0ZW0taWNvbi1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAxKTtcbiAgICAkaXRlbS1pY29uLXNpemU6IDEuNmVtO1xuICAgICRpdGVtLWljb24tcG9zaXRpb246ICdyYic7IC8vIGx0LCBsYiwgcnQsIHJiXG4gICAgJGl0ZW0taWNvbi1pbnNldC1sZWZ0LXJpZ2h0OiAkZGVmYXVsdC1wYWRkaW5nOyBcbiAgICAkaXRlbS1pY29uLWluc2V0LXRvcC1ib3R0b206ICRkZWZhdWx0LXBhZGRpbmc7IFxuICAgIFxuXG4gICAgLy8gbGlzdCBzdHlsZSBvbiBzbWFsbCB8IGltYWdlIGxlZnQgYW5kIGNvbnRlbnQgcmlnaHQgfCBhbGwgYmFja2dyb3VuZCB3aWxsIGJlIHJlc2V0IHwgY29udGVudCBpY29uIGlzIHNldCBhYnNvbHV0ZS4gTm90IHBvc3NpYmxlIGluIGNvbmp1bmN0aW9uIHdpdGggYSBzbGlkZXJcbiAgICAkaXRlbS1saXN0LXN0eWxlLW9uLXNtYWxsOiBmYWxzZTsgXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1pbWFnZS13aWR0aDogMTAwcHg7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tc2l6ZTogNjBweDsgXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tcGFkZGluZzogMTRweDsgXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tYmFja2dyb3VuZDogJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodDtcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1jb2xvcjogJGRlZmF1bHQtaWNvbi1jb2xvci1kYXJrO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC10aXRsZS1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLCAxKTtcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtY29weS1hYm92ZS1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLCAxKTtcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtY29weS1iZWxvdy1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLCAxKTtcblxuICAgIEBpbXBvcnQgJy4uL2FjX3NfX2l0ZW1zLWdsb2JhbHMvX19pdGVtX2dsb2JhbHMnO1xuICAgXG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4gICAgLmFjX2l0ZW1faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHggJGJyYW5kLXdoaXRlO1xuICAgIH1cbiAgICAuYWNfaXRlbV9pbWFnZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLmFjX2l0ZW1fY29udGVudF90aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtaGVhZGluZ3MtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxNTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbn0gLy8gZW5kIHNjb3BlIiwiXG4vKiBSRUZFUkVOQ0VTLUdSSUQgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbltkYXRhLXMtdHlwZT1cInJlZmVyZW5jZXMtZ3JpZFwiXSB7XG5cbiAgICAvLyBpdGVtcyBzbGlkZXJcbiAgICAkaXRlbXMtc2xpZGVyOiBmYWxzZTsgLy8gY29sdW1ucyBhbmQgc2xpZGVycyBkb24ndCBtaXhcbiAgICAkaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0OiAyMDBweDtcblxuICAgIC8vIGl0ZW1zXG4gICAgJGl0ZW1zLWFtb3VudDogMDsgLy8gMCBjb3VudHMgZm9yIHVuZGVmaW5lZCwgaWYgYXNzaWduZWQgdGhlIGNvZGUgd2lsbCBiZSBtb3JlIG9wdGltaXNlZFxuICAgICRpdGVtcy1jb250ZW50LW92ZXItaW1hZ2U6IHRydWU7IC8vIGhhcyB0byBiZSB0cnVlIGZvciBncmlkIGl0ZW1zXG4gICAgJGl0ZW1zLW1heC13aWR0aDogJG1heC1jb250ZW50LTEwMDA7XG4gICAgJGl0ZW1zLWhhdmUtcGFkZGluZzogdHJ1ZTtcbiAgICAkaXRlbXMtaGF2ZS1ib3JkZXItZGl2aWRlcnM6IGZhbHNlOyAvLyBrZWVwIGZhbHNlIGZvciBncmlkXG4gICAgJGl0ZW1zLWhhdmUtYm9yZGVyLWJlbG93OiBmYWxzZTsgLy8ga2VlcCBmYWxzZSBmb3IgZ3JpZFxuICAgICRpdGVtcy1oaWRlLWJvcmRlci1iZWxvdy1vbi1sYXN0LXJvdzogZmFsc2U7IC8vIGtlZXAgZmFsc2UgZm9yIGdyaWRcbiAgICAkaXRlbXMtYm9yZGVyLXJhZGl1czogMDsgXG4gICAgJGl0ZW1zLWZpcnN0LWl0ZW0tZnVsbC13aWR0aDogZmFsc2U7IC8vIGtlZXAgZmFsc2UgZm9yIGdyaWRcbiAgICAkaXRlbXMtZmlyc3QtaXRlbS1mdWxsLXdpZHRoLWhlaWdodC1tdWx0aXBsaWVyOiAxLjU7XG4gICAgJGl0ZW1zLW9uLXNtYWxsLXR3by1pdGVtcy1hLXJvdzogZmFsc2U7IC8vIGtlZXAgZmFsc2UgZm9yIGdyaWRcbiAgICAkaXRlbS1iYWNrZ3JvdW5kOiBub25lO1xuICAgICRpdGVtLWJhY2tncm91bmQtaG92ZXI6IG5vbmU7XG5cbiAgICAvLyBjb2x1bW5zXG4gICAgJGl0ZW1zLWNvbHVtbnMtZW5hYmxlZDogdHJ1ZTtcbiAgICAkaXRlbXMtY29sdW1ucy1icmVha3BvaW50OiA4MDBweDsgXG4gICAgJGl0ZW1zLWNvbHVtbnMtaGVpZ2h0OiA0MDBweDsgXG4gICAgJGl0ZW1zLWNvbHVtbnMtaGlkZS1sYXN0LW9uZS1iZWxvdy1icmVha3BvaW50OiB0cnVlO1xuICAgICRpdGVtcy1jb2x1bW5zLWljb24taW1hZ2UtY29tYmluYXRpb246IHRydWU7XG5cbiAgICAvLyBpdGVtXG4gICAgJGl0ZW0tbWFyZ2luLWJvdHRvbTogMjBweDsgLy8gMS40ZW1cbiAgICAkaXRlbS1ib3JkZXI6ICRkZWZhdWx0LWJvcmRlcjsgLy8gZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSwgbm90IHRoZSBkaXNwbGF5XG4gICAgJGl0ZW0tc2hhZG93LWVuYWJsZWQ6IGZhbHNlO1xuXG4gICAgLy8gaW1hZ2VcbiAgICAkaXRlbS1pbWFnZS1jb250YWluZXItZW5hYmxlZDogdHJ1ZTtcbiAgICAkaXRlbS1pbWFnZS1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWltYWdlLWhlaWdodDogMjQwcHg7XG4gICAgJGl0ZW0taW1hZ2UtaW5pdGlhbC1mYWRlOiAuMjtcbiAgICAkaXRlbS1pbWFnZS1ob3Zlci1mYWRlOiAuNDtcbiAgICAkaXRlbS1pbWFnZS1ncmFkaWVudC1iZWZvcmU6IHRydWU7IC8vIHdoZW4gaXRlbS1jb250ZW50LW92ZXItaW1hZ2VcbiAgICAkaXRlbS1pbWFnZS1ncmFkaWVudC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZS1wb3NpdGlvbjogJ2JvdHRvbSc7IC8vIHRvcCBvciBib3R0b21cbiAgICAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuICAgICRpdGVtLWltYWdlLWJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXM7IFxuXG4gICAgLy8gY29udGVudFxuICAgICRpdGVtLWNvbnRlbnQtcGFkZGluZzogMDsgLy8gJGRlZmF1bHQtcGFkZGluZzsgXG4gICAgJGl0ZW0tY29udGVudC1iYWNrZ3JvdW5kOiBub25lO1xuICAgICRpdGVtLWNvbnRlbnQtYmFja2dyb3VuZC1ob3Zlcjogbm9uZTtcbiAgICAkaXRlbS1jb250ZW50LWFsaWduOiAnY2MnOyAvLyBsdCwgbGMsIGxiLCBjdCwgY2MsIGNiLCBydCwgcmMsIHJiIHx8ICB3aGVuIGl0ZW0tY29udGVudC1vdmVyLWltYWdlXG4gICAgJGl0ZW0tY29udGVudC1jb3B5LXBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgLyAyOyBcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWxpZ246ICdsZWZ0JzsgLy8gbGVmdCBvciBjZW50ZXJcblxuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1jZW50ZXJlZDogdHJ1ZTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgMSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LWljb24tY29sb3ItZGFyaywgMSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXNpemU6IDgwcHg7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXBhZGRpbmc6IDEwcHg7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLW1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAkaXRlbS1jb250ZW50LWljb24tYmFja2dyb3VuZDogcmdiYSgkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0LCAuNSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodCwgMSk7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLXJvdW5kOiB0cnVlO1xuICAgIFxuICAgICRpdGVtLWNvbnRlbnQtdGl0bGUtZW5hYmxlZDogdHJ1ZTsgXG4gICAgJGl0ZW0tY29udGVudC10aXRsZS1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodDtcbiAgICAkaXRlbS1jb250ZW50LXRpdGxlLWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC42KTtcblxuICAgICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1lbmFibGVkOiB0cnVlOyAgICBcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodCwgLjYpO1xuICAgICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNCk7XG5cbiAgICAkaXRlbS1jb250ZW50LWNvcHktYmVsb3ctZW5hYmxlZDogZmFsc2U7ICAgIFxuICAgICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNik7XG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC40KTtcblxuICAgIC8vIGljb25cbiAgICAkaXRlbS1zaG93LWljb246IGZhbHNlO1xuICAgICRpdGVtLWljb24tY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgLjQpO1xuICAgICRpdGVtLWljb24taG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgMSk7XG4gICAgJGl0ZW0taWNvbi1zaXplOiAxLjZlbTtcbiAgICAkaXRlbS1pY29uLXBvc2l0aW9uOiAncmInOyAvLyBsdCwgbGIsIHJ0LCByYlxuICAgICRpdGVtLWljb24taW5zZXQtbGVmdC1yaWdodDogJGRlZmF1bHQtcGFkZGluZzsgXG4gICAgJGl0ZW0taWNvbi1pbnNldC10b3AtYm90dG9tOiAkZGVmYXVsdC1wYWRkaW5nOyBcbiAgICBcblxuICAgIC8vIGxpc3Qgc3R5bGUgb24gc21hbGwgfCBpbWFnZSBsZWZ0IGFuZCBjb250ZW50IHJpZ2h0IHwgYWxsIGJhY2tncm91bmQgd2lsbCBiZSByZXNldCB8IGNvbnRlbnQgaWNvbiBpcyBzZXQgYWJzb2x1dGUuIE5vdCBwb3NzaWJsZSBpbiBjb25qdW5jdGlvbiB3aXRoIGEgc2xpZGVyXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1vbi1zbWFsbDogZmFsc2U7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtaW1hZ2Utd2lkdGg6IDEwMHB4O1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXNpemU6IDYwcHg7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXBhZGRpbmc6IDE0cHg7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLWJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tY29sb3I6ICRkZWZhdWx0LWljb24tY29sb3I7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LXRpdGxlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWFib3ZlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWJlbG93LWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuXG4gICAgQGltcG9ydCAnLi4vYWNfc19faXRlbXMtZ2xvYmFscy9fX2l0ZW1fZ2xvYmFscyc7XG4gICBcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbiAgICAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1oZWFkaW5ncy1ib2xkO1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxufSAvLyBlbmQgc2NvcGUiLCJAaWYgJGl0ZW1zLWNvbHVtbnMtZW5hYmxlZCA9PSB0cnVlIHtcblxuXG4gICAgLmFjX2dyaWRfY29udGFpbmVye1xuICAgICAgICBtYXgtd2lkdGg6ICRpdGVtcy1tYXgtd2lkdGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6ICRkZWZhdWx0LXBhZGRpbmcgLyAyO1xuXG4gICAgICAgIEBpZiAkaXRlbXMtY29sdW1ucy1pY29uLWltYWdlLWNvbWJpbmF0aW9uID09IHRydWUge1xuICAgICAgICAgICAgLmFjX2l0ZW1faW1hZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vICAgICAgT1VURVIgQ09MVU1OXG4gICAgLy9cblxuICAgIC5hY19ncmlkX291dGVyLWNvbHVtbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLy8gZmlyc3Qgb3V0ZXIgY29sdW1uXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRpdGVtcy1jb2x1bW5zLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgzLzUpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgzLzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHNlY29uZCBvdXRlciBjb2x1bW5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuXG4gICAgICAgICAgICBAaWYgJGl0ZW1zLWNvbHVtbnMtaGlkZS1sYXN0LW9uZS1iZWxvdy1icmVha3BvaW50ID09IHRydWUge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRpdGVtcy1jb2x1bW5zLWJyZWFrcG9pbnQgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYWNfaXRlbSAge1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGl0ZW1zLWNvbHVtbnMtaGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkaXRlbS1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRpdGVtcy1jb2x1bW5zLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGl0ZW1zLWNvbHVtbnMtaGVpZ2h0IC8gMikgLSAkaXRlbS1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaXRlbXMtY29sdW1ucy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMi81KTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMi81KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGl0ZW0tbWFyZ2luLWJvdHRvbTtcblxuICAgICAgICAgICAgICAgIC8vIHNlbGVjdCBpdGVtcyB0aGF0IGhhdmUgYW4gaW1hZ2UgaWYgaWNvbi1pbWFnZS1jb21iaW5hdGlvbiBpcyB0cnVlXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zLWNvbHVtbnMtaWNvbi1pbWFnZS1jb21iaW5hdGlvbiA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hY19pdGVtX2ltYWdlIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuXG4gICAgLy9cbiAgICAvLyAgICAgIENPTFVNTlxuICAgIC8vXG5cblxuICAgIC5hY19ncmlkX2NvbHVtbiB7XG4gICAgICAgIGhlaWdodDogJGl0ZW1zLWNvbHVtbnMtaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5hY19pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRpdGVtLW1hcmdpbi1ib3R0b219KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vZmlyc3QgY29sdW1uXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIGhlaWdodDogJGl0ZW1zLWNvbHVtbnMtaGVpZ2h0IC8gMjtcbiAgICAgICAgICAgIC5hY19pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgxLzIpO1xuICAgICAgICAgICAgICAgIEBpZiAkaXRlbXMtY29sdW1ucy1pY29uLWltYWdlLWNvbWJpbmF0aW9uID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5hY19pdGVtX2ltYWdlIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaXRlbXMtY29sdW1ucy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaXRlbXMtY29sdW1ucy1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8zKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS8zKTtcbiAgICAgICAgICAgICAgICAuYWNfaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogKCRpdGVtcy1jb2x1bW5zLWhlaWdodCAvIDIpIC0gJGl0ZW0tbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9zZWNvbmQgY29sdW1uXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRpdGVtcy1jb2x1bW5zLWJyZWFrcG9pbnQgLSAxKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaXRlbXMtY29sdW1ucy1oZWlnaHQgKiAwLjc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkaXRlbXMtY29sdW1ucy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMi8zKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMi8zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkaXRlbXMtY29sdW1ucy1pY29uLWltYWdlLWNvbWJpbmF0aW9uID09IHRydWUge1xuICAgICAgICAgICAgICAgIC5hY19pdGVtX2ltYWdlIHsgXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgIH1cblxuXG59IiwiXG4vKiBTRVJWSUNFUy1HUklEIC0gMVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5bZGF0YS1zLXR5cGU9XCJzZXJ2aWNlcy1ncmlkXCJdIHtcblxuICAgIC8vIGl0ZW1zIHNsaWRlclxuICAgICRpdGVtcy1zbGlkZXI6IGZhbHNlOyAvLyBjb2x1bW5zIGFuZCBzbGlkZXJzIGRvbid0IG1peFxuICAgICRpdGVtcy1zbGlkZXItZm91Yy1oZWlnaHQ6IDIwMHB4O1xuXG4gICAgLy8gaXRlbXNcbiAgICAkaXRlbXMtYW1vdW50OiAwOyAvLyAwIGNvdW50cyBmb3IgdW5kZWZpbmVkLCBpZiBhc3NpZ25lZCB0aGUgY29kZSB3aWxsIGJlIG1vcmUgb3B0aW1pc2VkXG4gICAgJGl0ZW1zLWNvbnRlbnQtb3Zlci1pbWFnZTogdHJ1ZTsgLy8gaGFzIHRvIGJlIHRydWUgZm9yIGdyaWQgaXRlbXNcbiAgICAkaXRlbXMtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTAwMDtcbiAgICAkaXRlbXMtaGF2ZS1wYWRkaW5nOiB0cnVlO1xuICAgICRpdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVyczogZmFsc2U7IC8vIGtlZXAgZmFsc2UgZm9yIGdyaWRcbiAgICAkaXRlbXMtaGF2ZS1ib3JkZXItYmVsb3c6IGZhbHNlOyAvLyBrZWVwIGZhbHNlIGZvciBncmlkXG4gICAgJGl0ZW1zLWhpZGUtYm9yZGVyLWJlbG93LW9uLWxhc3Qtcm93OiBmYWxzZTsgLy8ga2VlcCBmYWxzZSBmb3IgZ3JpZFxuICAgICRpdGVtcy1ib3JkZXItcmFkaXVzOiAwOyBcbiAgICAkaXRlbXMtZmlyc3QtaXRlbS1mdWxsLXdpZHRoOiBmYWxzZTsgLy8ga2VlcCBmYWxzZSBmb3IgZ3JpZFxuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGgtaGVpZ2h0LW11bHRpcGxpZXI6IDEuNTtcbiAgICAkaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93OiBmYWxzZTsgLy8ga2VlcCBmYWxzZSBmb3IgZ3JpZFxuICAgICRpdGVtLWJhY2tncm91bmQ6IG5vbmU7XG4gICAgJGl0ZW0tYmFja2dyb3VuZC1ob3Zlcjogbm9uZTtcblxuICAgIC8vIGNvbHVtbnNcbiAgICAkaXRlbXMtY29sdW1ucy1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtcy1jb2x1bW5zLWJyZWFrcG9pbnQ6IDgwMHB4OyBcbiAgICAkaXRlbXMtY29sdW1ucy1oZWlnaHQ6IDQwMHB4OyBcbiAgICAkaXRlbXMtY29sdW1ucy1oaWRlLWxhc3Qtb25lLWJlbG93LWJyZWFrcG9pbnQ6IHRydWU7XG4gICAgJGl0ZW1zLWNvbHVtbnMtaWNvbi1pbWFnZS1jb21iaW5hdGlvbjogdHJ1ZTtcblxuICAgIC8vIGl0ZW1cbiAgICAkaXRlbS1tYXJnaW4tYm90dG9tOiAyMHB4OyAvLyAxLjRlbVxuICAgICRpdGVtLWJvcmRlcjogJGRlZmF1bHQtYm9yZGVyOyAvLyBkZWZpbmVzIHRoZSBhcHBlYXJhbmNlLCBub3QgdGhlIGRpc3BsYXlcbiAgICAkaXRlbS1zaGFkb3ctZW5hYmxlZDogZmFsc2U7XG5cbiAgICAvLyBpbWFnZVxuICAgICRpdGVtLWltYWdlLWNvbnRhaW5lci1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWltYWdlLWVuYWJsZWQ6IHRydWU7XG4gICAgJGl0ZW0taW1hZ2UtaGVpZ2h0OiAyNDBweDtcbiAgICAkaXRlbS1pbWFnZS1pbml0aWFsLWZhZGU6IC4yO1xuICAgICRpdGVtLWltYWdlLWhvdmVyLWZhZGU6IC40O1xuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZTogdHJ1ZTsgLy8gd2hlbiBpdGVtLWNvbnRlbnQtb3Zlci1pbWFnZVxuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtZ3JhZGllbnQtYmVmb3JlLXBvc2l0aW9uOiAnYm90dG9tJzsgLy8gdG9wIG9yIGJvdHRvbVxuICAgICRpdGVtLWltYWdlLWJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtZGFyaztcbiAgICAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1czsgXG5cbiAgICAvLyBjb250ZW50XG4gICAgJGl0ZW0tY29udGVudC1wYWRkaW5nOiAwOyAvLyAkZGVmYXVsdC1wYWRkaW5nOyBcbiAgICAkaXRlbS1jb250ZW50LWJhY2tncm91bmQ6IG5vbmU7XG4gICAgJGl0ZW0tY29udGVudC1iYWNrZ3JvdW5kLWhvdmVyOiBub25lO1xuICAgICRpdGVtLWNvbnRlbnQtYWxpZ246ICdjYyc7IC8vIGx0LCBsYywgbGIsIGN0LCBjYywgY2IsIHJ0LCByYywgcmIgfHwgIHdoZW4gaXRlbS1jb250ZW50LW92ZXItaW1hZ2VcbiAgICAkaXRlbS1jb250ZW50LWNvcHktcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAvIDI7IFxuICAgICRpdGVtLWNvbnRlbnQtY29weS1hbGlnbjogJ2xlZnQnOyAvLyBsZWZ0IG9yIGNlbnRlclxuXG4gICAgJGl0ZW0tY29udGVudC1pY29uLWVuYWJsZWQ6IHRydWU7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWNlbnRlcmVkOiB0cnVlO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLWxpZ2h0LCAxKTtcbiAgICAkaXRlbS1jb250ZW50LWljb24taG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1kYXJrLCAxKTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tc2l6ZTogODBweDtcbiAgICAkaXRlbS1jb250ZW50LWljb24tcGFkZGluZzogMTBweDtcbiAgICAkaXRlbS1jb250ZW50LWljb24tbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1iYWNrZ3JvdW5kOiByZ2JhKCRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQsIC41KTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0LCAxKTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tcm91bmQ6IHRydWU7XG4gICAgXG4gICAgJGl0ZW0tY29udGVudC10aXRsZS1lbmFibGVkOiB0cnVlOyBcbiAgICAkaXRlbS1jb250ZW50LXRpdGxlLWNvbG9yOiAkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICRpdGVtLWNvbnRlbnQtdGl0bGUtaG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodCwgLjYpO1xuXG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWFib3ZlLWVuYWJsZWQ6IGZhbHNlOyAgICBcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodCwgLjYpO1xuICAgICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNCk7XG5cbiAgICAkaXRlbS1jb250ZW50LWNvcHktYmVsb3ctZW5hYmxlZDogZmFsc2U7ICAgIFxuICAgICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNik7XG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC40KTtcblxuICAgIC8vIGljb25cbiAgICAkaXRlbS1zaG93LWljb246IGZhbHNlO1xuICAgICRpdGVtLWljb24tY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgLjQpO1xuICAgICRpdGVtLWljb24taG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtaWNvbi1jb2xvci1saWdodCwgMSk7XG4gICAgJGl0ZW0taWNvbi1zaXplOiAxLjZlbTtcbiAgICAkaXRlbS1pY29uLXBvc2l0aW9uOiAncmInOyAvLyBsdCwgbGIsIHJ0LCByYlxuICAgICRpdGVtLWljb24taW5zZXQtbGVmdC1yaWdodDogJGRlZmF1bHQtcGFkZGluZzsgXG4gICAgJGl0ZW0taWNvbi1pbnNldC10b3AtYm90dG9tOiAkZGVmYXVsdC1wYWRkaW5nOyBcbiAgICBcblxuICAgIC8vIGxpc3Qgc3R5bGUgb24gc21hbGwgfCBpbWFnZSBsZWZ0IGFuZCBjb250ZW50IHJpZ2h0IHwgYWxsIGJhY2tncm91bmQgd2lsbCBiZSByZXNldCB8IGNvbnRlbnQgaWNvbiBpcyBzZXQgYWJzb2x1dGUuIE5vdCBwb3NzaWJsZSBpbiBjb25qdW5jdGlvbiB3aXRoIGEgc2xpZGVyXG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1vbi1zbWFsbDogZmFsc2U7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtaW1hZ2Utd2lkdGg6IDEwMHB4O1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXNpemU6IDYwcHg7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLXBhZGRpbmc6IDE0cHg7IFxuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLWJhY2tncm91bmQ6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LWljb24tY29sb3I6ICRkZWZhdWx0LWljb24tY29sb3I7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LXRpdGxlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWFib3ZlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWJlbG93LWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuXG4gICAgQGltcG9ydCAnLi4vYWNfc19faXRlbXMtZ2xvYmFscy9fX2l0ZW1fZ2xvYmFscyc7XG4gICBcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbiAgICAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1oZWFkaW5ncy1ib2xkO1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxufSAvLyBlbmQgc2NvcGUiLCJcbi8qIFNFUlZJQ0VTIC0gMlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5bZGF0YS1zLXR5cGU9XCJzZXJ2aWNlc1wiXSB7XG5cbiAgICAvLyBpdGVtcyBzbGlkZXJcbiAgICAkaXRlbXMtc2xpZGVyOiBmYWxzZTtcbiAgICAkaXRlbXMtc2xpZGVyLWZvdWMtaGVpZ2h0OiAyMDBweDsgLy8gd2hhdCBuZWVkcyB0byBiZSB0aGUgZmxhc2gtb2YtdW53YW50ZWQtY29udGVudCBoZWlnaHQgYmVmb3JlIHNsaWRlciBoYXMgbGFvZGVkLlxuXG4gICAgLy8gaXRlbXNcbiAgICAkaXRlbXMtYW1vdW50OiAwOyAvLyAwIGNvdW50cyBmb3IgdW5kZWZpbmVkLCBpZiBhc3NpZ25lZCB0aGUgY29kZSB3aWxsIGJlIG1vcmUgb3B0aW1pc2VkXG4gICAgJGl0ZW1zLWNvbnRlbnQtb3Zlci1pbWFnZTogdHJ1ZTtcbiAgICAkaXRlbXMtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTAwMDtcbiAgICAkaXRlbXMtaGF2ZS1wYWRkaW5nOiB0cnVlO1xuICAgICRpdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVyczogZmFsc2U7XG4gICAgJGl0ZW1zLWhhdmUtYm9yZGVyLWJlbG93OiBmYWxzZTtcbiAgICAkaXRlbXMtaGlkZS1ib3JkZXItYmVsb3ctb24tbGFzdC1yb3c6IHRydWU7XG4gICAgJGl0ZW1zLWJvcmRlci1yYWRpdXM6IDA7IFxuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGg6IGZhbHNlO1xuICAgICRpdGVtcy1maXJzdC1pdGVtLWZ1bGwtd2lkdGgtaGVpZ2h0LW11bHRpcGxpZXI6IDEuNTtcbiAgICAkaXRlbXMtb24tc21hbGwtdHdvLWl0ZW1zLWEtcm93OiBmYWxzZTtcbiAgICAkaXRlbS1iYWNrZ3JvdW5kOiBub25lO1xuICAgICRpdGVtLWJhY2tncm91bmQtaG92ZXI6IG5vbmU7XG5cbiAgICAvLyBjb2x1bW5zXG4gICAgJGl0ZW1zLWNvbHVtbnMtZW5hYmxlZDogZmFsc2U7XG4gICAgJGl0ZW1zLWNvbHVtbnMtYnJlYWtwb2ludDogODAwcHg7IFxuICAgICRpdGVtcy1jb2x1bW5zLWhlaWdodDogNDAwcHg7IFxuICAgICRpdGVtcy1jb2x1bW5zLWhpZGUtbGFzdC1vbmUtYmVsb3ctYnJlYWtwb2ludDogZmFsc2U7XG4gICAgJGl0ZW1zLWNvbHVtbnMtaWNvbi1pbWFnZS1jb21iaW5hdGlvbjogdHJ1ZTtcblxuICAgIC8vIGl0ZW1cbiAgICAkaXRlbS1tYXJnaW4tYm90dG9tOiAxLjRlbTsgLy8gMS40ZW1cbiAgICAkaXRlbS1ib3JkZXI6ICRkZWZhdWx0LWJvcmRlcjsgLy8gZGVmaW5lcyB0aGUgYXBwZWFyYW5jZSwgbm90IHRoZSBkaXNwbGF5XG4gICAgJGl0ZW0tc2hhZG93LWVuYWJsZWQ6IGZhbHNlO1xuXG4gICAgLy8gaW1hZ2VcbiAgICAkaXRlbS1pbWFnZS1jb250YWluZXItZW5hYmxlZDogdHJ1ZTtcbiAgICAkaXRlbS1pbWFnZS1lbmFibGVkOiB0cnVlO1xuICAgICRpdGVtLWltYWdlLWhlaWdodDogMjQwcHg7XG4gICAgJGl0ZW0taW1hZ2UtaW5pdGlhbC1mYWRlOiAxO1xuICAgICRpdGVtLWltYWdlLWhvdmVyLWZhZGU6IC44O1xuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWJlZm9yZTogdHJ1ZTsgLy8gd2hlbiBpdGVtLWNvbnRlbnQtb3Zlci1pbWFnZVxuICAgICRpdGVtLWltYWdlLWdyYWRpZW50LWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtZ3JhZGllbnQtYmVmb3JlLXBvc2l0aW9uOiAnYm90dG9tJzsgLy8gdG9wIG9yIGJvdHRvbVxuICAgICRpdGVtLWltYWdlLWJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtZGFyaztcbiAgICAkaXRlbS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgJGl0ZW0taW1hZ2UtYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1czsgXG5cbiAgICAvLyBjb250ZW50XG4gICAgJGl0ZW0tY29udGVudC1wYWRkaW5nOiAwOyAvLyAkZGVmYXVsdC1wYWRkaW5nOyBcbiAgICAkaXRlbS1jb250ZW50LWJhY2tncm91bmQ6IG5vbmU7XG4gICAgJGl0ZW0tY29udGVudC1iYWNrZ3JvdW5kLWhvdmVyOiBub25lO1xuICAgICRpdGVtLWNvbnRlbnQtYWxpZ246ICdjYyc7IC8vIGx0LCBsYywgbGIsIGN0LCBjYywgY2IsIHJ0LCByYywgcmIgfHwgIHdoZW4gaXRlbS1jb250ZW50LW92ZXItaW1hZ2VcbiAgICAkaXRlbS1jb250ZW50LWNvcHktcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAwIDsgXG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWFsaWduOiAnbGVmdCc7IC8vIGxlZnQgb3IgY2VudGVyXG5cbiAgICAkaXRlbS1jb250ZW50LWljb24tZW5hYmxlZDogdHJ1ZTtcbiAgICAkaXRlbS1jb250ZW50LWljb24tY2VudGVyZWQ6IHRydWU7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWNvbG9yOiByZ2JhKCRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQsIDEpO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC1pY29uLWNvbG9yLWRhcmssIDEpO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1zaXplOiA4MHB4O1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1wYWRkaW5nOiAxMHB4O1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1tYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgJGl0ZW0tY29udGVudC1pY29uLWJhY2tncm91bmQ6IHJnYmEoJGRlZmF1bHQtYmFja2dyb3VuZC1saWdodCwgLjUpO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQsIDEpO1xuICAgICRpdGVtLWNvbnRlbnQtaWNvbi1yb3VuZDogdHJ1ZTtcbiAgICBcbiAgICAkaXRlbS1jb250ZW50LXRpdGxlLWVuYWJsZWQ6IHRydWU7IFxuICAgICRpdGVtLWNvbnRlbnQtdGl0bGUtY29sb3I6ICRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQ7XG4gICAgJGl0ZW0tY29udGVudC10aXRsZS1ob3Zlci1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNik7XG5cbiAgICAkaXRlbS1jb250ZW50LWNvcHktYWJvdmUtZW5hYmxlZDogZmFsc2U7ICAgIFxuICAgICRpdGVtLWNvbnRlbnQtY29weS1hYm92ZS1jb2xvcjogcmdiYSgkZGVmYXVsdC10ZXh0LWNvbG9yLWxpZ2h0LCAuNik7XG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWFib3ZlLWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC40KTtcblxuICAgICRpdGVtLWNvbnRlbnQtY29weS1iZWxvdy1lbmFibGVkOiBmYWxzZTsgICAgXG4gICAgJGl0ZW0tY29udGVudC1jb3B5LWJlbG93LWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3ItbGlnaHQsIC42KTtcbiAgICAkaXRlbS1jb250ZW50LWNvcHktYmVsb3ctaG92ZXItY29sb3I6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvci1saWdodCwgLjQpO1xuXG4gICAgLy8gaWNvblxuICAgICRpdGVtLXNob3ctaWNvbjogdHJ1ZTtcbiAgICAkaXRlbS1pY29uLWNvbG9yOiByZ2JhKCRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQsIC40KTtcbiAgICAkaXRlbS1pY29uLWhvdmVyLWNvbG9yOiByZ2JhKCRkZWZhdWx0LWljb24tY29sb3ItbGlnaHQsIDEpO1xuICAgICRpdGVtLWljb24tc2l6ZTogMS42ZW07XG4gICAgJGl0ZW0taWNvbi1wb3NpdGlvbjogJ3JiJzsgLy8gbHQsIGxiLCBydCwgcmJcbiAgICAkaXRlbS1pY29uLWluc2V0LWxlZnQtcmlnaHQ6ICRkZWZhdWx0LXBhZGRpbmc7IFxuICAgICRpdGVtLWljb24taW5zZXQtdG9wLWJvdHRvbTogJGRlZmF1bHQtcGFkZGluZzsgXG4gICAgXG5cbiAgICAvLyBsaXN0IHN0eWxlIG9uIHNtYWxsIHwgaW1hZ2UgbGVmdCBhbmQgY29udGVudCByaWdodCB8IGFsbCBiYWNrZ3JvdW5kIHdpbGwgYmUgcmVzZXQgfCBjb250ZW50IGljb24gaXMgc2V0IGFic29sdXRlLiBOb3QgcG9zc2libGUgaW4gY29uanVuY3Rpb24gd2l0aCBhIHNsaWRlclxuICAgICRpdGVtLWxpc3Qtc3R5bGUtb24tc21hbGw6IGZhbHNlOyBcbiAgICAkaXRlbS1saXN0LXN0eWxlLWltYWdlLXdpZHRoOiAxMDBweDtcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1zaXplOiA2MHB4OyBcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1wYWRkaW5nOiAxNHB4OyBcbiAgICAkaXRlbS1saXN0LXN0eWxlLWNvbnRlbnQtaWNvbi1iYWNrZ3JvdW5kOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWxpZ2h0O1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1pY29uLWNvbG9yOiAkZGVmYXVsdC1pY29uLWNvbG9yLWRhcms7XG4gICAgJGl0ZW0tbGlzdC1zdHlsZS1jb250ZW50LXRpdGxlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWFib3ZlLWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuICAgICRpdGVtLWxpc3Qtc3R5bGUtY29udGVudC1jb3B5LWJlbG93LWNvbG9yOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIDEpO1xuXG4gICAgQGltcG9ydCAnLi4vYWNfc19faXRlbXMtZ2xvYmFscy9fX2l0ZW1fZ2xvYmFscyc7XG4gICBcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbiAgICAuYWNfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgICAgICBib3JkZXI6IHNvbGlkIDNweCAkYnJhbmQtd2hpdGU7XG4gICAgfVxuICAgIC5hY19pdGVtX2ltYWdlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1oZWFkaW5ncy1ib2xkO1xuICAgICAgICBmb250LXNpemU6IDE1MCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxufSAvLyBlbmQgc2NvcGUiLCJcbi8qIEFDX1NfVE9QVEFTS1MgLSAxXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIGl0ZW1zXG4kYWMtdG9wdGFza3MtaXRlbXMtbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtMTIwMDtcbiRhYy10b3B0YXNrcy1pdGVtcy1wYWRkaW5nOiAwO1xuJGFjLXRvcHRhc2tzLWl0ZW1zLWlubmVyLXdyYXBwZXItZW5hYmxlZDogZmFsc2U7XG4kYWMtdG9wdGFza3MtaXRlbXMtaW5uZXItd3JhcHBlci1wYWRkaW5nOiAkZGVmYXVsdC1wYWRkaW5nIC8gNDtcbiRhYy10b3B0YXNrcy1pdGVtcy1pbm5lci13cmFwcGVyLWJhY2tncm91bmQtY29sb3I6ICRicmFuZC1saWdodGVzdC1ncmF5O1xuJGFjLXRvcHRhc2tzLWl0ZW1zLWhhdmUtYm9yZGVyLWRpdmlkZXJzOiBmYWxzZTtcblxuLy8gaXRlbVxuJGFjLXRvcHRhc2tzLWl0ZW0tcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZyAvIDI7XG4kYWMtdG9wdGFza3MtaXRlbS1jb250YWluZXItcGFkZGluZzogJGRlZmF1bHQtcGFkZGluZztcbiRhYy10b3B0YXNrcy1pdGVtLWhhcy1zaGFkb3c6IHRydWU7XG4kYWMtdG9wdGFza3MtaXRlbS1iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtbGlnaHRlc3QtZ3JheTtcbiRhYy10b3B0YXNrcy1pdGVtLWJhY2tncm91bmQtaG92ZXItY29sb3I6ICRicmFuZC1saWdodGVzdC1ncmF5O1xuJGFjLXRvcHRhc2tzLWl0ZW0tYm9yZGVyLXJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1czsgXG5cbi8vIGltYWdlXG4kYWMtdG9wdGFza3MtaXRlbS1oYXMtaW1hZ2UtY29udGFpbmVyOiB0cnVlOyBcbiRhYy10b3B0YXNrcy1pdGVtLWhhcy1pbWFnZS1jb250YWluZXItaGVpZ2h0OiAxMjBweDtcbiRhYy10b3B0YXNrcy1pdGVtLWhhcy1pbWFnZS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1kYXJrO1xuJGFjLXRvcHRhc2tzLWl0ZW0taGFzLWltYWdlOiB0cnVlO1xuJGFjLXRvcHRhc2tzLWl0ZW0taGFzLWltYWdlLWluaXRpYWwtZmFkZTogLjE7XG4kYWMtdG9wdGFza3MtaXRlbS1oYXMtaW1hZ2UtaG92ZXItZmFkZTogLjU7XG5cbi8vIGljb25cbiRhYy10b3B0YXNrcy1pdGVtLWljb24tZW5ibGVkOiB0cnVlO1xuJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi13aWR0aDogODBweDsgLy8gcHggb2YgZW1cbiRhYy10b3B0YXNrcy1pdGVtLWljb24tcGFkZGluZzogMjRweDsgLy8gcHggb3IgZW0gLSBpcyBkZWR1Y3RlZCBmcm9tIGljb24gd2lkdGguIFNheSB3aWR0aCBpcyA4MHB4IGFuZCBwYWRkaW5nIGlzIDE1cHgsIHRoZSBhY3R1YWwgaWNvbiBpcyA1MHB4O1xuJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1tYXJnaW4tYm90dG9tOiA0MHB4OyBcbiRhYy10b3B0YXNrcy1pdGVtLWljb24tYmc6ICRkZWZhdWx0LWJhY2tncm91bmQtbGlnaHQ7XG4kYWMtdG9wdGFza3MtaXRlbS1pY29uLWhvdmVyLWJnOiBpbmhlcml0OyAvLyBpbmhlcml0XG4kYWMtdG9wdGFza3MtaXRlbS1pY29uLWZpbGw6ICRkZWZhdWx0LWljb24tY29sb3I7XG4kYWMtdG9wdGFza3MtaXRlbS1pY29uLWhvdmVyLWZpbGw6ICRkZWZhdWx0LWljb24tY29sb3I7XG5cbi8vIHRpdGxlXG4kYWMtdG9wdGFza3MtaXRlbS10aXRsZS1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvcjtcbiRhYy10b3B0YXNrcy1pdGVtLXRpdGxlLWNvbG9yLWhvdmVyOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIC45KTtcblxuLy8gZGVzY3JpcHRpb25cbiRhYy10b3B0YXNrcy1pdGVtLWRlc2NyaXB0aW9uLWVuYWJsZWQ6IHRydWU7XG4kYWMtdG9wdGFza3MtaXRlbS1kZXNjcmlwdGlvbi1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvcjtcbiRhYy10b3B0YXNrcy1pdGVtLWRlc2NyaXB0aW9uLWNvbG9yLWhvdmVyOiByZ2JhKCRkZWZhdWx0LXRleHQtY29sb3IsIC45KTtcbiRhYy10b3B0YXNrcy1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbi1ib3R0b206IDFlbTtcblxuLy8gYnRuLWNvbnRhaW5lclxuJGFjLXRvcHRhc2tzLWl0ZW0tYnRuLWNvbnRhaW5lci1lbmFibGVkOiB0cnVlO1xuJGFjLXRvcHRhc2tzLWl0ZW0tYnRuLWNvbnRhaW5lci1jb2xvcjogJGRlZmF1bHQtdGV4dC1jb2xvcjtcbiRhYy10b3B0YXNrcy1pdGVtLWJ0bi1jb250YWluZXItY29sb3ItaG92ZXI6IHJnYmEoJGRlZmF1bHQtdGV4dC1jb2xvciwgLjkpO1xuXG5AaW1wb3J0ICdfX3RvcHRhc2tzX2dsb2JhbHMnO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4uYWNfdG9wdGFza3NfaXRlbV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYWNfdG9wdGFza3NfaXRlbV9pY29uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYWNfdG9wdGFza3NfaXRlbV9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiIsIlxuLyogQUNfU19UT1BUQVNLUyAtIEdMT0JBTFNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG5AbWl4aW4gYWMtdG9wdGFzay1ib3JkZXItZGl2aWRlci1ib3R0b20oKSB7XG4gICAgdG9wOiBpbmhlcml0O1xuICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgIGxlZnQ6ICRkZWZhdWx0LXBhZGRpbmc7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRkZWZhdWx0LXBhZGRpbmcgKiAyfSk7XG59XG5cbi8vXG4vLyAgICAgIFRPUFRBU0tTIFNFQ1RJT05cbi8vXG5cblxuW2RhdGEtcy10eXBlPVwidG9wdGFza3NcIl0ge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vL1xuLy8gICAgICBDT05UQUlORVJcbi8vXG5cblxuLmFjX3RvcHRhc2tzX2NvbnRhaW5lcntcbiAgICBtYXgtd2lkdGg6ICRhYy10b3B0YXNrcy1pdGVtcy1tYXgtd2lkdGg7XG4gICAgbWFyZ2luOiAyZW0gYXV0bztcbiAgICBwYWRkaW5nOiAkYWMtdG9wdGFza3MtaXRlbXMtcGFkZGluZzsgXG59XG4uYWNfdG9wdGFza3NfY29udGFpbmVyX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAkYWMtdG9wdGFza3MtaXRlbXMtaW5uZXItd3JhcHBlci1wYWRkaW5nO1xuXG4gICAgQGlmICRhYy10b3B0YXNrcy1pdGVtcy1pbm5lci13cmFwcGVyLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhYy10b3B0YXNrcy1pdGVtcy1pbm5lci13cmFwcGVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRhYy10b3B0YXNrcy1pdGVtLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG59XG5cblxuLy9cbi8vICAgICAgSVRFTVxuLy9cblxuLmFjX3RvcHRhc2tzX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogJGFjLXRvcHRhc2tzLWl0ZW0tcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgQGlmICRhYy10b3B0YXNrcy1pdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVycyA9PSB0cnVlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFjLXRvcHRhc2stYm9yZGVyLWRpdmlkZXItYm90dG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGxhc3QoMSkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ICAgIFxuICAgICAgICAgICAgLmFjX3RvcHRhc2tzX2l0ZW1fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWMtdG9wdGFza3MtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjX3RvcHRhc2tzX2l0ZW1faW1hZ2Uge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRhYy10b3B0YXNrcy1pdGVtLWhhcy1pbWFnZS1ob3Zlci1mYWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjX3RvcHRhc2tzX2l0ZW1faWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1ob3Zlci1iZztcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgQGlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnZmlsbCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZWlmICRzdmctaWNvbi1zZXQtdHlwZSA9PSAnc3Ryb2tlJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRhYy10b3B0YXNrcy1pdGVtLWljb24taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudF90aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhYy10b3B0YXNrcy1pdGVtLXRpdGxlLWNvbG9yLWhvdmVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGFjLXRvcHRhc2tzLWl0ZW0tZGVzY3JpcHRpb24tZW5hYmxlZCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAuYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhYy10b3B0YXNrcy1pdGVtLWRlc2NyaXB0aW9uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkYWMtdG9wdGFza3MtaXRlbS1idG4tY29udGFpbmVyLWVuYWJsZWQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudF9idG4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhYy10b3B0YXNrcy1pdGVtLWJ0bi1jb250YWluZXItY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNfdG9wdGFza3NfaXRlbV9jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICRhYy10b3B0YXNrcy1pdGVtLWJhY2tncm91bmQtY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGFjLXRvcHRhc2tzLWl0ZW0tYm9yZGVyLXJhZGl1cztcbiAgICBwYWRkaW5nOiAkYWMtdG9wdGFza3MtaXRlbS1jb250YWluZXItcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsICRkZWZhdWx0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgQGlmICRhYy10b3B0YXNrcy1pdGVtLWhhcy1zaGFkb3cgPT0gdHJ1ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0LWJveC1zaGFkb3c7XG4gICAgfVxufVxuXG5cbi8vXG4vLyAgICAgIEJPUkRFUiBSRVNQT05TSVZFTkVTU1xuLy9cblxuQGlmICRhYy10b3B0YXNrcy1pdGVtcy1oYXZlLWJvcmRlci1kaXZpZGVycyA9PSB0cnVlIHtcblxuICAgIFxufVxuXG5cbi8vXG4vLyAgICAgIElNQUdFXG4vL1xuXG4uYWNfdG9wdGFza3NfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRhYy10b3B0YXNrcy1pdGVtLWhhcy1pbWFnZS1jb250YWluZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRhYy10b3B0YXNrcy1pdGVtLWhhcy1pbWFnZS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYWMtdG9wdGFza3MtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYWMtdG9wdGFza3MtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIEBpZiAkYWMtdG9wdGFza3MtaXRlbS1oYXMtaW1hZ2UtY29udGFpbmVyID09IGZhbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgXG4gICAgfVxufVxuLmFjX3RvcHRhc2tzX2l0ZW1faW1hZ2Uge1xuICAgIEBpZiAkYWMtdG9wdGFza3MtaXRlbS1oYXMtaW1hZ2UgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6ICRhYy10b3B0YXNrcy1pdGVtLWhhcy1pbWFnZS1pbml0aWFsLWZhZGU7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRhYy10b3B0YXNrcy1pdGVtLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYWMtdG9wdGFza3MtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgYm94LXNoYWRvdzogJGRlZmF1bHQtYm94LXNoYWRvdztcbiAgICB9XG59XG5cblxuLy9cbi8vICAgICAgQ09OVEVOVFxuLy9cblxuXG4uYWNfdG9wdGFza3NfaXRlbV9jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmbGV4OiAxOyAvLyBpZTExIHRleHQgb3ZlcmZsb3cgZml4XG59XG4uYWNfdG9wdGFza3NfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWhlYWRpbmdzLWJvbGQoKTtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogLjRlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRhYy10b3B0YXNrcy1pdGVtLXRpdGxlLWNvbG9yO1xuICAgIHRyYW5zaXRpb246IGFsbCAkZGVmYXVsdC10cmFuc2l0aW9uLXNwZWVkO1xufVxuLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudF9kZXNjcmlwdGlvbiB7XG4gICAgQGlmICRhYy10b3B0YXNrcy1pdGVtLWRlc2NyaXB0aW9uLWVuYWJsZWQgPT0gZmFsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFjLXRvcHRhc2tzLWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGFjLXRvcHRhc2tzLWl0ZW0tZGVzY3JpcHRpb24tY29sb3I7XG4gICAgfVxufVxuLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudF9idG4tY29udGFpbmVyIHtcbiAgICBAaWYgJGFjLXRvcHRhc2tzLWl0ZW0tYnRuLWNvbnRhaW5lci1lbmFibGVkID09IGZhbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGFjLXRvcHRhc2tzLWl0ZW0tYnRuLWNvbnRhaW5lci1jb2xvcjtcbiAgICB9XG59XG5cblxuXG4vL1xuLy8gICAgICBJQ09OXG4vL1xuXG4uYWNfdG9wdGFza3NfaXRlbV9pY29uLWNvbnRhaW5lciB7XG4gICAgQGlmICRhYy10b3B0YXNrcy1pdGVtLWljb24tZW5ibGVkID09IHRydWUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRhYy10b3B0YXNrcy1pdGVtLWljb24tbWFyZ2luLWJvdHRvbVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5hY190b3B0YXNrc19pdGVtX2ljb24ge1xuICAgIEBpZiAkYWMtdG9wdGFza3MtaXRlbS1pY29uLWVuYmxlZCA9PSB0cnVlIHtcbiAgICAgICAgd2lkdGg6ICRhYy10b3B0YXNrcy1pdGVtLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1iZztcbiAgICAgICAgcGFkZGluZzogJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1wYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6ICRhYy10b3B0YXNrcy1pdGVtLWljb24td2lkdGggLSAoJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1wYWRkaW5nICogMik7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhYy10b3B0YXNrcy1pdGVtLWljb24td2lkdGggLSAoJGFjLXRvcHRhc2tzLWl0ZW0taWNvbi1wYWRkaW5nICogMik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGRlZmF1bHQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgICAgIEBpZiAkc3ZnLWljb24tc2V0LXR5cGUgPT0gJ2ZpbGwnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYWMtdG9wdGFza3MtaXRlbS1pY29uLWZpbGw7XG4gICAgICAgICAgICB9IEBlbHNlaWYgJHN2Zy1pY29uLXNldC10eXBlID09ICdzdHJva2UnIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRhYy10b3B0YXNrcy1pdGVtLWljb24tZmlsbDtcbiAgICAgICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG5cbiIsIi8qIFNFQ1RJT04gQ09OVFJPTFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuW2RhdGEtcy1pZD1cImhvbWUtdG9wdGFza3NcIl0ge1xuICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMTBweDtcbiAgICB9XG59XG5cbltkYXRhLXMtaWQ9XCJob21lLXNlcnZpY2VzXCJdIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG59IiwiLyogU1RBVEUgSElEREVOXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zX2hpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBURVhUIEFMSUdOXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX3RleHQtYWxpZ25fbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuLmFfdGV4dC1hbGlnbl9jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuLmFfdGV4dC1hbGlnbl9yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyogRkxFWEJPWCBIRUxQRVJTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2p1c3RpZnlfZmxleC1zdGFydCAge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuLmFfanVzdGlmeV9jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4uYV9qdXN0aWZ5X2ZsZXgtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG4uYV9qdXN0aWZ5X3NwYWNlLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cbi5hX2p1c3RpZnlfc3BhY2UtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cblxuLmFfYWxpZ24taXRlbXNfY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG59XG4uYV9hbGlnbi1pdGVtc19mbGV4LXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuLmFfYWxpZ24taXRlbXNfZmxleC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYV9mbGV4LWRpcmVjdGlvbl9yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbn1cbi5hX2ZsZXgtZGlyZWN0aW9uX3Jvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuXG4vKiBNQVggV0lEVEhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfbWF4LXdpZHRoLWZ1bGwge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4kbWF4LXdpZHRoLWxpc3Q6IDYwMCA4MDAgMTAwMCAxMjAwIDE0MDAgMTYwMCAxODAwIDIwMDA7XG5cbkBtaXhpbiBnZW5lcmF0ZS1tYXgtd2lkdGgtY2xhc3NlcyB7XG4gICAgQGVhY2ggJGl0ZW0gaW4gJG1heC13aWR0aC1saXN0IHtcbiAgICAgICAgLmFfbWF4LXdpZHRoLSN7JGl0ZW19IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogKCRpdGVtICsgMHB4KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH0gICBcbiAgICB9XG59XG5AaW5jbHVkZSBnZW5lcmF0ZS1tYXgtd2lkdGgtY2xhc3NlcygpO1xuXG5cbi8qIEJBQ0tHUk9VTkQgQVRUQUNITUVOVCBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfYmFja2dyb3VuZC1hdHRhY2htZW50X2ZpeGVkIHsgXG4gICAgLy8gbm90IGEgc3VpdGFibGUgZWZmZWN0IGZvciBtb2JpbGUgZGV2aWNlc1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjMyMzYxNTgvaG93LXRvLXJlcGxpY2F0ZS1iYWNrZ3JvdW5kLWF0dGFjaG1lbnQtZml4ZWQtb24taW9zXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIH1cbn1cblxuLyogQkFDS0dST1VORCBDT05UQUlOXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2NvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLyogQkFDS0dST1VORCBDT1ZFUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiRjb3Zlci1saXN0OiBjdCBjYyBjYiBsdCBsYyBsYiBydCByYyByYjtcbiRwb3NpdGlvbnM6IChcblx0Y3Q6IDUwJSAwJSxcblx0Y2M6IDUwJSA1MCUsXG4gICAgY2I6IDUwJSAxMDAlLFxuICAgIGx0OiAwJSAwJSxcbiAgICBsYzogMCUgNTAlLFxuICAgIGxiOiAwJSAxMDAlLFxuICAgIHJ0OiAxMDAlIDAlLFxuICAgIHJjOiAxMDAlIDUwJSxcbiAgICByYjogMTAwJSAxMDAlXG4pO1xuXG5AbWl4aW4gZ2VuZXJhdGUtY292ZXItY2xhc3NlcyB7XG4gICAgQGVhY2ggJGl0ZW0gaW4gJGNvdmVyLWxpc3Qge1xuICAgICAgICAuYV9jb3Zlci0jeyRpdGVtfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBtYXAtZ2V0KCRwb3NpdGlvbnMsICRpdGVtKSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVhY2ggJGl0ZW0gaW4gJGNvdmVyLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bS1wb3J0cmFpdCkgeyBcbiAgICAgICAgICAgIC5hX21lZGl1bS1wb3J0cmFpdF9jb3Zlci0jeyRpdGVtfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbWFwLWdldCgkcG9zaXRpb25zLCAkaXRlbSkhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBlYWNoICRpdGVtIGluICRjb3Zlci1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICAuYV9tZWRpdW1fY292ZXItI3skaXRlbX0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IG1hcC1nZXQoJHBvc2l0aW9ucywgJGl0ZW0pIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLWNvdmVyLWNsYXNzZXMoKTtcblxuXG5cbi8qIE9QQUNJVFlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4kb3BhY2l0eS1saXN0OiAwIDUgMTAgMjAgMzAgNDAgNTAgNjAgNzAgODAgOTAgMTAwO1xuXG5AbWl4aW4gZ2VuZXJhdGUtb3BhY2l0eS1jbGFzc2VzIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkb3BhY2l0eS1saXN0IHtcbiAgICAgICAgLmFfb3BhY2l0eS0jeyRpdGVtfSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAoJGl0ZW0gLyAxMDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH0gICBcbiAgICB9XG59XG5AaW5jbHVkZSBnZW5lcmF0ZS1vcGFjaXR5LWNsYXNzZXMoKTtcblxuXG4vKiBHUkFZU0NBTEVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4kZ3JheXNjYWxlLWxpc3Q6IDIwIDQwIDYwIDgwIDEwMDtcblxuQG1peGluIGdlbmVyYXRlLWdyYXlzY2FsZS1jbGFzc2VzIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkZ3JheXNjYWxlLWxpc3Qge1xuICAgICAgICAuYV9ncmF5c2NhbGUtI3skaXRlbX0ge1xuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoKDAlICsgJGl0ZW0pKSAhaW1wb3J0YW50O1xuICAgICAgICB9ICAgXG4gICAgfVxufVxuQGluY2x1ZGUgZ2VuZXJhdGUtZ3JheXNjYWxlLWNsYXNzZXMoKTtcblxuXG5cbi8qIEJMRU5EIE1PREVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJGJsZW5kLW1vZGVzLWxpc3Q6IG11bHRpcGx5IHNjcmVlbiBvdmVybGF5IGV4Y2x1c2lvbiBkaWZmZXJlbmNlO1xuXG5AbWl4aW4gZ2VuZXJhdGUtYmxlbmQtbW9kZXMtY2xhc3NlcyB7XG4gICAgQGVhY2ggJGl0ZW0gaW4gJGJsZW5kLW1vZGVzLWxpc3Qge1xuICAgICAgICAuYV9ibGVuZC0jeyRpdGVtfSB7XG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogJGl0ZW0gIWltcG9ydGFudDtcbiAgICAgICAgfSAgIFxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLWJsZW5kLW1vZGVzLWNsYXNzZXMoKTtcblxuXG4vKiBTSEFET1dTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2Nhc3Qtc2hhZG93X3RvcCB7XG4gICAgYm94LXNoYWRvdzogMHB4IC0xMHB4IDEwcHggcmdiYSgzNCwgMzQsIDM0LCAwLjEpICFpbXBvcnRhbnQ7XG59XG5cblxuLyogTUFSR0lOIEhFTFBFUlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmFfbm8tbWFyZ2luIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5hX25vLW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5hX25vLW1hcmdpbi1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4uYV9uby1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uYV9uby1tYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuJG1hcmdpbi1saXN0OiAwIDEwIDIwIDQwIDYwIDgwIDEwMDtcbiRtYXJnaW4tc2lkZXM6IHRvcCBib3R0b207IC8vIHRvcCByaWdodCBib3R0b20gbGVmdDtcblxuQG1peGluIGdlbmVyYXRlLW1hcmdpbi1jbGFzc2VzIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkbWFyZ2luLWxpc3Qge1xuICAgICAgICBAZWFjaCAkc2lkZSBpbiAkbWFyZ2luLXNpZGVzIHtcbiAgICAgICAgICAgIC5hX21hcmdpbi0jeyRzaWRlfS0jeyRpdGVtfSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAoMHB4ICsgKCRpdGVtLzIpKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBlYWNoICRpdGVtIGluICRtYXJnaW4tbGlzdCB7XG4gICAgICAgIEBlYWNoICRzaWRlIGluICRtYXJnaW4tc2lkZXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAuYV9tYXJnaW4tI3skc2lkZX0tI3skaXRlbX0ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tI3skc2lkZX06ICgwcHggKyAkaXRlbSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5AaW5jbHVkZSBnZW5lcmF0ZS1tYXJnaW4tY2xhc3NlcygpO1xuXG5cbi8qIFBBRERJTkcgSEVMUEVSU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi5hX25vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5hX25vLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmFfbm8tcGFkZGluZy1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmFfbm8tcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uYV9uby1wYWRkaW5nLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4kcGFkZGluZy1saXN0OiAwIDEwIDIwIDQwIDYwIDgwIDEwMCAxMjAgMTQwO1xuJHBhZGRpbmctc2lkZXM6IHRvcCBib3R0b207IC8vIHRvcCByaWdodCBib3R0b20gbGVmdDtcblxuQG1peGluIGdlbmVyYXRlLXBhZGRpbmctY2xhc3NlcyB7XG4gICAgQGVhY2ggJGl0ZW0gaW4gJHBhZGRpbmctbGlzdCB7XG4gICAgICAgIEBlYWNoICRzaWRlIGluICRwYWRkaW5nLXNpZGVzIHtcbiAgICAgICAgICAgIC5hX3BhZGRpbmctI3skc2lkZX0tI3skaXRlbX0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctI3skc2lkZX06ICgwcHggKyAoJGl0ZW0vMikpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVhY2ggJHNpZGUgaW4gJHBhZGRpbmctc2lkZXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAuYV9wYWRkaW5nLSN7JHNpZGV9LSN7JGl0ZW19IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy0jeyRzaWRlfTogKDBweCArICRpdGVtKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLXBhZGRpbmctY2xhc3NlcygpOyIsIi8qIEJBQ0tHUk9VTkQgQ09MT1Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gZ2VuZXJhdGUtYmFja2dyb3VuZC1jb2xvci1jbGFzc2VzIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyYW5kLWNvbG9yLWxpc3Qge1xuICAgICAgICAuYV9iZ19icmFuZF8jeyRrZXl9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJyYW5kLWNvbG9yLWxpc3QsICRrZXkpICFpbXBvcnRhbnQ7XG4gICAgICAgIH0gICBcbiAgICB9XG59XG5AaW5jbHVkZSBnZW5lcmF0ZS1iYWNrZ3JvdW5kLWNvbG9yLWNsYXNzZXMoKTtcblxuXG4vLyBkZWZhdWx0IGNvbG9yc1xuQG1peGluIGdlbmVyYXRlLWRlZmF1bHQtYmctY2xhc3NlcyB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRkZWZhdWx0LWJnLWxpc3Qge1xuICAgICAgICAuYV9iZ18jeyRrZXl9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGRlZmF1bHQtYmctbGlzdCwgJGtleSkgIWltcG9ydGFudDtcbiAgICAgICAgfSAgIFxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLWRlZmF1bHQtYmctY2xhc3NlcygpO1xuXG5cbi8qIEJBQ0tHUk9VTkQgR1JBRElFTlRTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBtaXhpbiBnZW5lcmF0ZS1iYWNrZ3JvdW5kLWdyYWRpZW50LWNsYXNzZXMge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJhbmQtZ3JhZGllbnQtbGlzdCB7XG4gICAgICAgIC5hX2JnX2dyYWRpZW50X2JyYW5kXyN7JGtleX0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYnJhbmQtZ3JhZGllbnQtbGlzdCwgJGtleSkgIWltcG9ydGFudDtcbiAgICAgICAgfSAgIFxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLWJhY2tncm91bmQtZ3JhZGllbnQtY2xhc3NlcygpO1xuXG5cblxuLyogRklMTCBDT0xPUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIGFsbCBicmFuZCBjb2xvcnNcbkBtaXhpbiBnZW5lcmF0ZS1maWxsLWNsYXNzZXMge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJhbmQtY29sb3ItbGlzdCB7XG4gICAgICAgIC5hX2ZpbGxfYnJhbmRfI3ska2V5fSB7XG4gICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRicmFuZC1jb2xvci1saXN0LCAka2V5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfSAgIFxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLWZpbGwtY2xhc3NlcygpO1xuXG4vLyBkZWZhdWx0IGNvbG9yc1xuQG1peGluIGdlbmVyYXRlLWRlZmF1bHQtZmlsbC1jbGFzc2VzIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGRlZmF1bHQtZmlsbC1jb2xvci1saXN0IHtcbiAgICAgICAgLmFfZmlsbF8jeyRrZXl9IHtcbiAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGRlZmF1bHQtZmlsbC1jb2xvci1saXN0LCAka2V5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfSAgIFxuICAgIH1cbn1cbkBpbmNsdWRlIGdlbmVyYXRlLWRlZmF1bHQtZmlsbC1jbGFzc2VzKCk7XG5cblxuXG4vKiBCT1JERVJTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hX2JvcmRlci10b3BfYnJhbmRfbGlnaHQtZ3JheSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRicmFuZC1saWdodC1ncmF5ICFpbXBvcnRhbnQ7XG59XG4uYV9ib3JkZXItYm90dG9tX2JyYW5kX2xpZ2h0LWdyYXkge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYnJhbmQtbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xufVxuXG5cblxuLyogVEVYVCBDT0xPUlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIGFsbCBicmFuZCBjb2xvcnNcbkBtaXhpbiBnZW5lcmF0ZS10ZXh0LWNvbG9yLWNsYXNzZXMge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJhbmQtY29sb3ItbGlzdCB7XG4gICAgICAgIC5hX3RleHRfYnJhbmRfI3ska2V5fSB7XG4gICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJyYW5kLWNvbG9yLWxpc3QsICRrZXkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgfVxuICAgICAgICB9ICAgXG4gICAgfVxufVxuQGluY2x1ZGUgZ2VuZXJhdGUtdGV4dC1jb2xvci1jbGFzc2VzKCk7XG5cbi8vIGRlZmF1bHQgY29sb3JzXG5AbWl4aW4gZ2VuZXJhdGUtZGVmYXVsdC10ZXh0LWNvbG9yLWNsYXNzZXMge1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZGVmYXVsdC10ZXh0LWNvbG9yLWxpc3Qge1xuICAgICAgICAuYV90ZXh0XyN7JGtleX0ge1xuICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRkZWZhdWx0LXRleHQtY29sb3ItbGlzdCwgJGtleSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH0gICBcbiAgICB9XG59XG5AaW5jbHVkZSBnZW5lcmF0ZS1kZWZhdWx0LXRleHQtY29sb3ItY2xhc3NlcygpO1xuIiwiLyogRklYRVNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vL0ZPUk1TXG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiIGldIHtcbiAgICBwYWRkaW5nOjAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46MCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgcGFkZGluZzowICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOjAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6MTBweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6aW5saW5lO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgbWFyZ2luLXRvcDotMjZweCAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA3NXZoICFpbXBvcnRhbnQ7XG59XG5cbi5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dF9kZXNjaXB0aW9uIHtcbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggIzQ0NDQ0NDtcbiAgICB9XG59XG4uYWNfaGVyb19zbGlkZV9jb250ZW50X3RleHQge1xuICAgIGEgIHtcbiAgICAgICAgY29sb3I6JGJyYW5kLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jb3B6ZWdnaW5nLXNlY3RpZS10aXRlbC0zLTMgLmFjX2NvbnRlbnRfY29udGFpbmVyIC5hY19jb250ZW50X2ZsZXggIHtcbiAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi8vSEVBREVSU1xuXG5bZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbi0xMzVkZWdcbiwkYnJhbmQtcHJpbWFyeS1kYXJrZXIsICRicmFuZC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbi0xMzVkZWdcbiwgcmdiKDE0MywgMzIsIDMxKSwgcmdiKDIyMiwgMzQsIDMwKSkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdC14OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQteTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuXG59XG5cbi5hY19tZW51LTJfYmFyX2JvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogIzI2M2Y4ZDJiO1xufVxuXG4uYWNfbWVudS0yX2xvZ29fY29udGFpbmVye1xuICAgIC5hY19tZW51LTJfbG9nb19pbWcge1xuICAgICAgICBtYXJnaW4tdG9wOi01NXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTUwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmFjX21lbnUtMl9sb2dvX2ltZyB7XG4gICAgd2lkdGg6IDIyMHB4O1xufVxuXG4uYWNfbWVudS0yX21vYmlsZV9sb2dvX2ltZyB7XG4gICAgZGlzcGxheTpub25lO1xufVxuLmFjX21lbnUtMl9sb2dvX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hY19tZW51LTJfc3RpY2t5LmlzLXN0dWNrIC5hY19tZW51LTJfbG9nb19pbWcge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDotNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5hY19tZW51LTJfYmFyX3RvcCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6JGJyYW5kLXRlcnRpYXJ5ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpe1xuICAgIFtkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiA2MHZoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxufVxuXG4uYnV0dG9uLnZfaGFzLWljb24tbGVmdCAuc3ZnLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uYnV0dG9uLnZfaGFzLWljb24tcmlnaHQgLnN2Zy1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIGEge1xuICAgIGZvbnQtc2l6ZTogMTFwdCAhaW1wb3J0YW50O1xufVxuW2RhdGEtbS10eXBlPVwibWVudS0yXCJdIGEuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE2cHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6MTJweDtcbiAgICBwYWRkaW5nOjAuNGVtO1xufVxuXG5bZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0gYTpob3ZlciB7XG4gICAgXG4gICAgY29sb3I6JGJyYW5kLXByaW1hcnk7XG59XG5cbltkYXRhLXMtdHlwZT1cImhlcm9cIl0gLmFjX2hlcm9fc2xpZGVfY29udGVudF9pbm5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5cbi5hY19tZW51LTJfY3RhX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS1tLXR5cGU9XCJtZW51LTJcIl0ge1xuICAgIGEge1xuICAgICAgICBjb2xvcjokYnJhbmQtYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG59XG5cbltkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9jb250YWluZXIge1xuICAgIGhlaWdodDoyMDBweFxufVxuXG4jYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hY19tZW51LTJfYnRuLXNlYXJjaCBzdmcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTNweDtcbn1cblxuLy9NZW51c1xuLmFjX21lbnUtMl9iYXJfdG9wX2NvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5hY19tZW51LTJfYmFyX2JvdHRvbV9jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5hY19tZW51LTJfYmFyX3RvcCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuXG4uYWNfaGVyb19zbGlkZSB7XG4gICAgaGVpZ2h0OjYwdmg7XG59XG5cbi5hY19oZXJvX2FsdF9zbGlkZSB7XG4gICBoZWlnaHQ6MTI1cHg7XG59XG5bZGF0YS1zLXR5cGU9XCJoZXJvXCJdIC5hY19oZXJvX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OjEwMCUgIWltcG9ydGFudDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTo0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiNmZmY7XG59XG5cbltkYXRhLXMtYW1vdW50PVwiMlwiXSAuc2xpY2stc2xpZGUgW2RhdGEtcy1hbW91bnQtaXRlbV17XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIC5hY19oZXJvX2FsdF9jb250YWluZXIge1xuICAgIGhlaWdodDoxMjVweDtcbiAgICBtaW4taGVpZ2h0OiAxMjVweDtcbn1cblxuW2RhdGEtcy10eXBlPVwiaGVyby1hbHRcIl0gaDEsIFtkYXRhLXMtdHlwZT1cImhlcm8tYWx0XCJdIGgyLCBbZGF0YS1zLXR5cGU9XCJoZXJvLWFsdFwiXSBoMyB7XG4gICAgcGFkZGluZy10b3A6MjBweDtcbn1cblxuW2RhdGEtcy10eXBlPVwiaGVyb1wiXSB7XG4gICAgaGVpZ2h0OjYwdmg7XG59XG5cbi5hY19oZXJvX3NsaWRlX2NvbnRlbnRfdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDM0cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4ICM1YTVhNWE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5hY19pbWFnZS1nYWxsZXJ5X2l0ZW1faW1hZ2VfY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6NTAwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCl7XG4gICAgLmFjX21lbnUtMl9zdGlja3kuaXMtc3R1Y2sgLmFjX21lbnUtMl9sb2dvX2ltZyB7XG4gICAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6MTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hY19tZW51LTJfbG9nb19pbWcge1xuICAgICAgICB3aWR0aDogMjAwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOjEwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5hY19tZW51LTJfbG9nb19jb250YWluZXIgKyAuYWNfbWVudS0yX21haW5fY29udGVudHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuXG4vLyBNRU5VIE1PQklMRVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKXtcbiAgICAuYWNfbWVudS0yX3N0aWNreXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmFjX21lbnUtMl9tb2JpbGVfbG9nb19pbWcge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWNfbWVudS0yX3N0aWNreS5pcy1zdHVjayAuYWNfbWVudS0yX2xvZ29faW1nIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDoxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICAuYWNfbWVudS0yX21haW5fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDowcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgW2RhdGEtcy10eXBlPVwiaGVyb1wiXSAuYWNfaGVyb19jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDUwdmggIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG5cbiAgICAjbWVudS1tb2JpbGV7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1cHggMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcbiAgICBcbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Yi1tZW51e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5oMiwgaDMsIGg0IHtcbiAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgcGFkZGluZy1ib3R0b206MTBweDtcbn1cblxuLy8gR0VORVJBTFxuLmhvbWUge1xuICAgIGgyIHtcbiAgICAgICAgY29sb3I6JGJyYW5kLXRlcnRpYXJ5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgfVxufVxuXG4ubWFpbi1jb250YWluZXIgW2RhdGEtcy10eXBlPVwic2VjdGlvbi1jb250ZW50XCJdIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAmLmJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5LWRhcmtlcjtcbn1cblxuYm9keSB7XG4gICAgY29sb3I6JGJyYW5kLWJsYWNrO1xufVxuXG4vL05FV1NcblxuW2RhdGEtcy10eXBlPVwibmV3c1wiXSAuYWNfaXRlbV9jb250ZW50X3RpdGxlIHtcbiAgICBjb2xvcjogJGJyYW5kLWJsYWNrO1xufVxuXG5cbi8vIEJSQU5EU1xuXG4uYWNfYnJhbmRzX2l0ZW1fY29udGFpbmVyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmFjX2JyYW5kc19pdGVtIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gU0VSVklDRVNcbltkYXRhLXMtaWQ9XCJob21lLXNlcnZpY2VzXCJdIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGgyIHtcbiAgICAgICAgY29sb3I6JGJyYW5kLXdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgfVxuICAgIC5hY19jb250YWluZXIge1xuICAgICAgICBtYXJnaW46MHB4O1xuICAgIH1cbn1cblxuXG4vL0ZPT1RFUlxuW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gaDIge1xuICAgIGZvbnQtc2l6ZTogMTYwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgb3BhY2l0eTogLjU7XG59XG5cbltkYXRhLWYtdHlwZT1cImZvb3Rlci0xXCJdIC5hY19mb290ZXJfcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGJyYW5kLWJsYWNrO1xufVxuXG5bZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3ByaW1hcnlfY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHggNXB4IDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICggbWF4LXdpZHRoOiA4MDBweCApe1xuXG4gICAgW2RhdGEtZi10eXBlPVwiZm9vdGVyLTFcIl0gLmFjX2Zvb3Rlcl9wcmltYXJ5X2NvbHVtbjpudGgtY2hpbGQoNCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgfVxufVxuXG5bZGF0YS1mLXR5cGU9XCJmb290ZXItMVwiXSAuYWNfZm9vdGVyX3ByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC10ZXJ0aWFyeS1kYXJrZXI7XG4gICAgYm9yZGVyLXRvcDoycHggc29saWQgJGJyYW5kLWxpZ2h0LWdyYXk7XG5cbiAgICAuYWNfZm9vdGVyX3ByaW1hcnlfY29sdW1ue1xuICAgICAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hbGlnbm5vbmV7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAtMTAwcHggMCAwIDA7XG4gICAgfVxufVxuXG5cbi5hY19mb290ZXJfcHJpbWFyeV9jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOjQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vQ1RBXG4uYWNfY3RhX2NvbHVtbiB7XG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5hY19jdGFfY29sdW1uIHtcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRicmFuZC10ZXJ0aWFyeTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5bZGF0YS1zLXR5cGU9XCJjdGFcIl0ge1xuICAgIHBhZGRpbmc6MCAhaW1wb3J0YW50O1xufVxuXG4vLyBJTUFHRVMgT1ZFUkxBWVxuW2RhdGEtcy10eXBlPVwiaW1hZ2UtZ2FsbGVyeV9mdWxsLXNjcmVlblwiXSAuc2xpY2stbmV4dCBzdmcsIFtkYXRhLXMtdHlwZT1cImltYWdlLWdhbGxlcnlfZnVsbC1zY3JlZW5cIl0gLnNsaWNrLXByZXYgc3ZnIHtcbiAgICBmaWxsOiAkYnJhbmQtcHJpbWFyeTtcbn1cblxubGk6Om1hcmtlciB7XG4gICAgY29sb3I6JGJyYW5kLXByaW1hcnk7XG59XG5cbi5hY19jb250ZW50XzEtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi8vYnJhbmRzXG4uYWNfYnJhbmRzX2l0ZW1fbG9nbyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy90b3B0YXNrc1xuXG4uYWNfdG9wdGFza3NfaXRlbTpob3ZlciB7XG4gICAgLmFjX3RvcHRhc2tzX2l0ZW1faWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC13aGl0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB9XG59XG5cbi5hY190b3B0YXNrc19pdGVtX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLmFjX3RvcHRhc2tzX2l0ZW1faWNvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYWNfdG9wdGFza3NfaXRlbV9pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgc3Ryb2tlOiAjNjQ2NDYzO1xuICAgIGZpbGw6IHRyYW5zcGFyZW50O1xufVxuLmFjX3RvcHRhc2tzX2l0ZW1faWNvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi8qXG4uYWNfdG9wdGFza3NfaXRlbV9pbWFnZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNFM0UzRTM7XG59XG5cbi5hY190b3B0YXNrc19pdGVtX2NvbnRhaW5lciB7XG4gICBiYWNrZ3JvdW5kOiAjRTNFM0UzO1xufVxuXG4uYWNfdG9wdGFza3NfaXRlbV9pY29uIHN2ZyB7XG4gICAgY29sb3I6ICRicmFuZC1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgc3Ryb2tlOiAkYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgIGZpbGw6I2ZmZjtcbn1cblxuLmFjX3RvcHRhc2tzX2l0ZW1fY29udGVudF90aXRsZSB7XG4gICBjb2xvcjogJGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbn1cbiovIl19 */
