@charset "UTF-8";
/**
 * doc generator: http://warpspire.com/kss
 */
@font-face {
  font-family: 'Bryndan';
  src: url("../fonts/bryndan_write-webfont.woff2") format("woff2"), url("../fonts/bryndan_write-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Nature';
  src: url("../fonts/4990810_-webfont.woff2") format("woff2"), url("../fonts/4990810_-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/**
 * 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 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  -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; }

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

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

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

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

.small-1 {
  width: 8.33333%; }

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

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

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

.small-2 {
  width: 16.66667%; }

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

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

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

.small-3 {
  width: 25%; }

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

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

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

.small-4 {
  width: 33.33333%; }

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

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

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

.small-5 {
  width: 41.66667%; }

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

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

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

.small-6 {
  width: 50%; }

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

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

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

.small-7 {
  width: 58.33333%; }

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

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

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

.small-8 {
  width: 66.66667%; }

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

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

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

.small-9 {
  width: 75%; }

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

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

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

.small-10 {
  width: 83.33333%; }

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

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

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

.small-11 {
  width: 91.66667%; }

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

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

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

.small-12 {
  width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

.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; } }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  color: #000000;
  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::placeholder,
textarea::placeholder {
  color: #cacaca; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #204433;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #1b3a2b;
    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: #204433;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #1a3629;
      color: #ffffff; }
  .button.secondary {
    background-color: #666666;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #525252;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #000000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000000; }
  .button.warning {
    background-color: #ffae00;
    color: #000000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000000; }
  .button.alert {
    background-color: #cc4b37;
    color: #000000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button.hollow {
    border: 1px solid #204433;
    color: #204433; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #10221a;
      color: #10221a; }
    .button.hollow.primary {
      border: 1px solid #204433;
      color: #204433; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #10221a;
        color: #10221a; }
    .button.hollow.secondary {
      border: 1px solid #666666;
      color: #666666; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #333333;
        color: #333333; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #204433;
      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: #204433;
        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: #666666;
        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: #000000; }
    .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: #000000; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #000000; }
  .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: #204433; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #204433; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #666666; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

/**
 * converting px to rem
 * ------------------------------------------
 * @param  int     $value         size units px whithout "px"
 * @return string                 size units rem
 */
/**
 * converting px to em
 * ------------------------------------------
 * @param  int     $value         size units px whithout "px"
 * @return string                 size units rem
 */
/**
 * get Rem size
 * ------------------------------------------
 * @param  int     $value             get unit
 * @return string                   return unit px
 */
/**
 * set unit value
 * ------------------------------------------
 * @param  int     $value             get unit
 * @return string                   return unit px
 */
/**
 * calcule the percent
 * ------------------------------------------
 * @param  int     $target       child
 * @param  int     $container    parent
 * @return string                   return percent
 */
@font-face {
  font-family: 'Bryndan';
  src: url("../fonts/bryndan_write-webfont.woff2") format("woff2"), url("../fonts/bryndan_write-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Nature';
  src: url("../fonts/4990810_-webfont.woff2") format("woff2"), url("../fonts/4990810_-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/**
 * set the size of container (and works in responsive)
 * ------------------------------------------------------
 * @param $percent            - 100% is recommanded
 * @param $maxWidth           - size of the container (rem, px, etc)
 *
 * Styleguide 2.1.3.
 */
/**
 * Set the transfrom property correctly for IE9
 * ------------------------------------------------------
 * @param $property           - transform properties
 *
 * Styleguide 2.1.3.
 */
/**
 * Display fontsize with rem
 * ------------------------------------------------------
 * @param $size           - transform properties
 *
 * Styleguide 2.1.3.
 */
/**
 * Hover statement
 * ------------------------------------------------------
 *
 * Styleguide 2.1.3.
 */
/**
 * Align horizontal or vertical
 * ------------------------------------------------------
 * @param $direction           - direction
 *
 * Styleguide 2.1.3.
 */
.content > * {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  .content > *:first-child {
    margin-top: 0; }
  .content > *:last-child {
    margin-bottom: 0; }

.content ul:not(.gform_fields) {
  list-style: none; }
  .content ul:not(.gform_fields) li {
    font-size: 16px;
    font-size: 1em;
    position: relative; }
    .content ul:not(.gform_fields) li::before {
      content: "";
      left: -1rem;
      position: absolute;
      top: 10px;
      width: 0.375rem;
      height: 0.375rem;
      background-color: #204433; }

.content ol {
  margin-left: 0;
  counter-reset: section;
  list-style-type: none; }
  .content ol li {
    position: relative; }
  .content ol li::before {
    color: #204433;
    counter-increment: section;
    content: counters(section, "-");
    padding-right: 1rem; }

.content ol ul li,
.content ol ol li,
.content ul ul li,
.content ul ol li {
  font-size: 12px;
  font-size: 0.75em; }

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

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

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center; }

.wp-caption.alignnone {
  margin: 5px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 5px 20px 20px 0; }

.wp-caption.alignright {
  margin: 5px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

pre {
  display: block;
  background: #3B3B3B;
  border: 1px solid #777;
  font-family: monospace;
  resize: both;
  overflow: auto;
  color: #eee;
  max-width: 1280px;
  /* specify width  */
  white-space: pre-wrap;
  /* CSS3 browsers  */
  white-space: -moz-pre-wrap !important;
  /* 1999+ Mozilla  */
  white-space: -pre-wrap;
  /* Opera 4 thru 6 */
  white-space: -o-pre-wrap;
  /* Opera 7 and up */
  word-wrap: break-word;
  /* IE 5.5+ and up */
  width: 100%;
  max-width: 1280px;
  margin: 20px auto;
  padding: 15px;
  display: block; }
  pre * {
    display: inline; }

pre::selection {
  color: white;
  background: black; }

pre *::selection {
  color: white;
  background: black; }

pre:focus {
  background: #333;
  outline: none; }

#breadcrumbs span span {
  font-size: 16px;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  color: #204433; }
  #breadcrumbs span span .breadcrumb_last {
    color: #6f9930; }

.hamburger-responsive {
  position: relative;
  z-index: 9999;
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  pointer-events: auto;
  outline: 0; }
  .hamburger-responsive > div {
    background-color: #204433;
    width: 1.875rem;
    height: 0.1875rem;
    position: absolute;
    position: absolute;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%)\9;
    transition-duration: 0.4s; }
    .hamburger-responsive > div::after {
      -ms-transform: translateY(0.625rem);
      -webkit-transform: translateY(0.625rem);
              transform: translateY(0.625rem);
      -ms-transform: translateY(0.625rem)\9; }
    .hamburger-responsive > div::before {
      -ms-transform: translateY(-0.625rem);
      -webkit-transform: translateY(-0.625rem);
              transform: translateY(-0.625rem);
      -ms-transform: translateY(-0.625rem)\9; }
    .hamburger-responsive > div::after, .hamburger-responsive > div::before {
      transition-duration: 0.4s;
      top: 0;
      left: 0;
      content: "";
      position: absolute;
      background-color: #204433;
      width: 1.875rem;
      height: 0.1875rem; }
  .hamburger-responsive.is-active > div {
    background-color: rgba(255, 255, 255, 0); }
    .hamburger-responsive.is-active > div::after {
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -ms-transform: rotate(45deg)\9; }
    .hamburger-responsive.is-active > div::before {
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -ms-transform: rotate(-45deg)\9; }

.dark-focus-responsive {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: all 0.5s; }
  @media screen and (min-width: 75em) {
    .dark-focus-responsive {
      display: none; } }
  .is-opened .dark-focus-responsive {
    z-index: 950;
    opacity: 1; }

.wrapper {
  position: relative; }

* {
  outline-color: #204433; }

.fullscreen {
  height: 100vh; }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

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

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  max-width: 1200px;
  margin: 0 auto; }

.content ul:not(.gform_fields) li::before {
  width: 0; }

.first_letter::first-letter {
  text-transform: uppercase !important; }

.lang-switcher *:first-letter {
  text-transform: uppercase !important; }

.menu-responsive {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1002;
  display: none;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding-right: 3.75rem;
  overflow: hidden;
  pointer-events: none; }
  @media screen and (max-width: 74.9375em) {
    .menu-responsive {
      display: block; } }
  .admin-bar .menu-responsive {
    padding-top: 2rem; }
    @media screen and (max-width: 48.875em) {
      .admin-bar .menu-responsive {
        padding-top: 2.875rem; } }

.menu-responsive > div {
  width: 100%;
  height: 100%;
  overflow: auto;
  pointer-events: auto;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -ms-transform: translateX(-100%);
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -ms-transform: translateX(-100%)\9; }
  .menu-responsive-container.is-opened .menu-responsive > div,
  .menu-responsive-container.is-opened.right .menu-responsive > div,
  .menu-responsive-container.is-opened.left .menu-responsive > div {
    -ms-transform: translateX(0);
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -ms-transform: translateX(0)\9; }

.menu-responsive-menu {
  height: 100%; }

.menu-responsive-menu .menu {
  background-color: #ffffff;
  height: 100%; }
  .menu-responsive-menu .menu ul,
  .menu-responsive-menu .menu li {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    z-index: 1; }
  .menu-responsive-menu .menu > li > a {
    font-family: "Bryndan", sans-serif;
    border-bottom: solid 0.0625rem rgba(255, 255, 255, 0.5); }
  .menu-responsive-menu .menu > ul > li > a {
    background-color: #ffffff;
    color: #204433;
    text-transform: uppercase;
    font-weight: 600; }
  .menu-responsive-menu .menu ul ul a {
    background-color: #204433;
    padding: 0.375rem 1.875rem; }
  .menu-responsive-menu .menu li a {
    background: #6f9930;
    padding: 0.625rem 1.875rem;
    color: #ffffff;
    display: block;
    font-size: 20px;
    font-size: 1.25em;
    transition: all 0.5s;
    -ms-transition: all 0.5s\9; }
    .menu-responsive-menu .menu li a:focus {
      text-decoration: none; }
  .menu-responsive-menu .menu .sub-menu a {
    font-family: "Bryndan", sans-serif;
    background: #ffffff;
    color: #204433;
    font-size: 20px;
    font-size: 1.25em;
    border-bottom: solid 0.0625rem #204433; }
  .menu-responsive-menu .menu .sub-menu > li {
    background: #ffffff; }

.menu-with-accordion .menu ul.sub-menu {
  overflow: hidden; }

.menu-with-accordion .menu li.menu-item-has-children.is-opened > a::after {
  -ms-transform: translateY(-50%) rotate(90deg);
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg)\9; }

.menu-with-accordion .menu li.menu-item-has-children > a {
  position: relative; }
  .menu-with-accordion .menu li.menu-item-has-children > a::after {
    line-height: 1;
    content: '>';
    top: 50%;
    position: absolute;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -ms-transform: translateY(-50%) rotate(0);
    -webkit-transform: translateY(-50%) rotate(0);
            transform: translateY(-50%) rotate(0);
    -ms-transform: translateY(-50%) rotate(0)\9;
    right: 0.9375rem;
    transition-duration: 0.4s; }

.menu-responsive-container.right {
  right: 0; }
  .menu-responsive-container.right .menu-responsive {
    padding-right: 0;
    padding-left: 3.75rem; }
    .menu-responsive-container.right .menu-responsive > div {
      -ms-transform: translateX(100%);
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      -ms-transform: translateX(100%)\9; }

/* ------------------- Barre de cookie -------------------   */
.cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  background-color: #e6e6e6;
  color: #333333;
  padding: 20px 0;
  z-index: 99999; }

.cookie a {
  text-decoration: underline;
  color: #333333;
  text-decoration: none;
  font-weight: 700;
  display: inline; }

.cookie_btn {
  cursor: pointer;
  border: none;
  background-color: #204433;
  color: #ffffff;
  width: auto;
  display: inline-block;
  text-transform: uppercase;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  height: 40px;
  line-height: 40px;
  padding: 0 40px; }

.downarr.styled {
  position: absolute;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  left: 50%;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -ms-transform: translateX(-50%)\9;
  display: block;
  width: 5rem;
  height: 5rem;
  outline: 0;
  cursor: pointer;
  bottom: 2rem;
  background-color: #204433;
  position: absolute;
  border-radius: 50%;
  transition-duration: 0.2s; }
  .downarr.styled:hover::after, .downarr.styled:hover::before, .downarr.styled:active::after, .downarr.styled:active::before, .downarr.styled:focus::after, .downarr.styled:focus::before {
    top: 70%; }
  .downarr.styled::after, .downarr.styled::before {
    transition-duration: 0.2s;
    content: "";
    position: absolute;
    width: 1.875rem;
    height: 0.1875rem;
    background-color: #ffffff;
    top: 62%; }
  .downarr.styled::after {
    left: 50%;
    -webkit-transform-origin: center left;
        -ms-transform-origin: center left;
            transform-origin: center left;
    -ms-transform: rotate(-50deg);
    -webkit-transform: rotate(-50deg);
            transform: rotate(-50deg);
    -ms-transform: rotate(-50deg)\9; }
  .downarr.styled::before {
    right: 50%;
    -webkit-transform-origin: center right;
        -ms-transform-origin: center right;
            transform-origin: center right;
    -ms-transform: rotate(50deg);
    -webkit-transform: rotate(50deg);
            transform: rotate(50deg);
    -ms-transform: rotate(50deg)\9; }

.uparr.styled {
  position: absolute;
  display: block;
  width: 2.4375rem;
  height: 2.4375rem;
  outline: 0;
  cursor: pointer;
  bottom: 50px;
  right: 60px;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid #204433;
  transition-duration: 0.2s; }
  .uparr.styled:hover, .uparr.styled:active, .uparr.styled:focus {
    background-color: #204433; }
    .uparr.styled:hover::after, .uparr.styled:hover::before, .uparr.styled:active::after, .uparr.styled:active::before, .uparr.styled:focus::after, .uparr.styled:focus::before {
      top: 28%;
      background-color: #ffffff; }
  @media screen and (max-width: 39.9375em) {
    .uparr.styled {
      right: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  .uparr.styled::after, .uparr.styled::before {
    transition-duration: 0.2s;
    content: "";
    position: absolute;
    width: 1rem;
    height: 0.0625rem;
    background-color: #204433;
    top: 30%; }
  .uparr.styled::after {
    left: 50%;
    -webkit-transform-origin: center left;
        -ms-transform-origin: center left;
            transform-origin: center left;
    -ms-transform: rotate(50deg);
    -webkit-transform: rotate(50deg);
            transform: rotate(50deg);
    -ms-transform: rotate(50deg)\9; }
  .uparr.styled::before {
    right: 50%;
    -webkit-transform-origin: center right;
        -ms-transform-origin: center right;
            transform-origin: center right;
    -ms-transform: rotate(-50deg);
    -webkit-transform: rotate(-50deg);
            transform: rotate(-50deg);
    -ms-transform: rotate(-50deg)\9; }

.gform_body ul {
  margin-left: 0;
  list-style: none; }
  .gform_body ul::before, .gform_body ul::after {
    display: table;
    content: ' '; }
  .gform_body ul::after {
    clear: both; }

.gform_wrapper,
.gform_body {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .gform_wrapper::before, .gform_wrapper::after,
  .gform_body::before,
  .gform_body::after {
    display: table;
    content: ' '; }
  .gform_wrapper::after,
  .gform_body::after {
    clear: both; }
  @media screen and (max-width: 63.9375em) {
    .gform_wrapper,
    .row .gform_wrapper,
    .gform_body,
    .row
    .gform_body {
      margin-left: -.9375rem;
      margin-right: -.9375rem; } }
  .gform_wrapper .gform_wrapper,
  .row .gform_wrapper,
  .gform_body .gform_wrapper,
  .row
  .gform_body, .gform_wrapper
  .gform_body,
  .gform_body
  .gform_body {
    margin-left: -.625rem;
    margin-right: -.625rem; }
  .gform_wrapper .gform_wrapper,
  .row .gform_wrapper, .gform_wrapper .row.expanded,
  .gform_body .gform_wrapper,
  .row
  .gform_body,
  .gform_body .row.expanded, .gform_wrapper
  .gform_body,
  .gform_body
  .gform_body {
    max-width: none; }

.gform_wrapper > form,
.gform_page_footer {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper > form,
    .gform_page_footer {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gform_wrapper > form:last-child:not(:first-child),
  .gform_page_footer:last-child:not(:first-child) {
    float: right; }

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

.fp_gform_medium {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .fp_gform_medium {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .fp_gform_medium:last-child:not(:first-child) {
    float: right; }

.fp_gform_small {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .fp_gform_small {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .fp_gform_small:last-child:not(:first-child) {
    float: right; }

.gform_wrapper .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: #204433;
  color: #ffffff; }
  [data-whatinput='mouse'] .gform_wrapper .button {
    outline: 0; }
  .gform_wrapper .button:hover, .gform_wrapper .button:focus {
    background-color: #1b3a2b;
    color: #ffffff; }

.gfield label {
  padding-bottom: 0.625rem;
  font-size: 18px;
  font-size: 1.125em; }

.gfield_required {
  margin-left: 0.25rem;
  font-size: 18px;
  font-size: 1.125em;
  color: #204433; }

.gform_fields > li:not(.gform_validation_container) {
  margin: 1.875rem 0; }

.gfield_description {
  padding-top: 1.25rem;
  padding-bottom: 0.625rem;
  font-size: 18px;
  font-size: 1.125em; }

.gform_confirmation_message,
.gform_confirmation_message_2,
.gform_confirmation_wrapper *,
.gf_progressbar_title {
  font-size: 20;
  font-size: 1.25em; }

.gform_title {
  color: #204433; }

.gf_progressbar_percentage {
  background-color: #204433;
  padding: 10px;
  color: #ffffff; }

.fp_gform_honeypot {
  display: none; }

.gform_description:empty {
  display: none; }

.button.button-secondary, .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_footer input.button {
  text-transform: uppercase;
  color: #ffffff;
  border: solid 0.125rem #204433;
  background-color: #204433;
  padding: 0.625rem 1.5625rem;
  transition: 0.4s;
  font-weight: 600;
  line-height: 18px;
  font-size: 14px;
  font-size: 0.875em;
  transition-duration: 0.2s; }
  .button.button-secondary:hover, .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_footer input.button:hover, .button.button-secondary:active, .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_footer input.button:active, .button.button-secondary:focus, .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_footer input.button:focus {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }

.bracket {
  color: #6f9930;
  position: relative;
  display: inline-block;
  line-height: 1;
  font-family: "Nature", sans-serif;
  font-size: 40px;
  padding-left: 28px;
  padding-right: 28px;
  -ms-transform: rotate(-9.5deg);
  -webkit-transform: rotate(-9.5deg);
          transform: rotate(-9.5deg);
  -ms-transform: rotate(-9.5deg)\9; }
  .bracket::after, .bracket::before {
    position: absolute;
    content: "";
    top: -36%;
    height: 150%;
    width: 40px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }
  .bracket::after {
    right: 0;
    background-image: url("../images/bracket-out.svg"); }
  .bracket::before {
    left: 0;
    background-image: url("../images/bracket-in.svg"); }
  @media screen and (max-width: 74.9375em) {
    .bracket {
      color: #6f9930;
      position: relative;
      display: inline-block;
      line-height: 1;
      font-family: "Nature", sans-serif;
      font-size: 35px;
      padding-left: 25px;
      padding-right: 25px;
      -ms-transform: rotate(-9.5deg);
      -webkit-transform: rotate(-9.5deg);
              transform: rotate(-9.5deg);
      -ms-transform: rotate(-9.5deg)\9; }
      .bracket::after, .bracket::before {
        position: absolute;
        content: "";
        top: -36%;
        height: 150%;
        width: 35px;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat; }
      .bracket::after {
        right: 0;
        background-image: url("../images/bracket-out.svg"); }
      .bracket::before {
        left: 0;
        background-image: url("../images/bracket-in.svg"); } }

.fourofour {
  margin-top: 90px;
  margin-bottom: 90px; }
  .fourofour__container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
            justify-content: center; }
    .fourofour__container img,
    .fourofour__container svg {
      width: 80%;
      margin: 0 auto;
      position: relative;
      max-width: 800px;
      z-index: -1; }
      .fourofour__container img .aiguille,
      .fourofour__container svg .aiguille {
        -webkit-transform-origin: 72px 25px;
            -ms-transform-origin: 72px 25px;
                transform-origin: 72px 25px;
        -webkit-animation: spin1 3s cubic-bezier(0.94, 0.1, 0.6, 1.05) infinite;
                animation: spin1 3s cubic-bezier(0.94, 0.1, 0.6, 1.05) infinite; }
    .fourofour__container h3 {
      text-align: center;
      margin-top: 50px;
      z-index: 4; }
    .fourofour__container a {
      margin: 20px auto;
      text-align: center;
      border: 1px solid #204433;
      padding: 10px;
      position: relative;
      color: #204433;
      max-width: 227px;
      text-align: center; }
      .fourofour__container a::before {
        content: '';
        background-color: #204433;
        position: absolute;
        height: 100%;
        top: 0;
        left: 0;
        width: 0;
        transition: 1s ease all;
        z-index: -1; }
      .fourofour__container a:hover {
        color: white; }
        .fourofour__container a:hover:before {
          width: 100%;
          transition: 1s ease all; }

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

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

.next_prev_buttons {
  position: absolute;
  top: 50%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  width: 100%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer; }
  .next_prev_buttons .prev_button svg path,
  .next_prev_buttons .next_button svg path {
    fill: #204433; }
  .next_prev_buttons .next_button {
    -webkit-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
            transform: rotate(-180deg); }

.nav_category > ul {
  position: relative;
  width: 100%;
  text-align: center;
  overflow: hidden;
  padding-bottom: 30px; }
  @media screen and (max-width: 63.9375em) {
    .nav_category > ul {
      padding-bottom: 0; } }
  .nav_category > ul > li {
    display: inline-block; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .nav_category > ul > li {
        display: block; } }
    @media screen and (max-width: 39.9375em) {
      .nav_category > ul > li {
        display: block; } }
    .nav_category > ul > li:last-child a {
      color: #f23e68; }
      .nav_category > ul > li:last-child a::after {
        background-color: #f23e68; }
    .nav_category > ul > li > a {
      position: relative;
      font-size: 20px;
      font-size: 1.25em;
      display: inline-block;
      font-family: "Bryndan", sans-serif;
      color: #204433;
      white-space: nowrap;
      margin: 0 50px 0.875rem 50px;
      text-align: center;
      padding: 10px;
      transition: all ease .2s; }
      @media screen and (max-width: 74.9375em) {
        .nav_category > ul > li > a {
          margin: 0.625rem 0 0.625rem 1.875rem; } }
      .nav_category > ul > li > a::after {
        transition: all ease .2s;
        margin-top: 5px;
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background-color: #204433; }
      .nav_category > ul > li > a.is-active, .nav_category > ul > li > a:active, .nav_category > ul > li > a:focus, .nav_category > ul > li > a:hover {
        color: #6f9935; }
        .nav_category > ul > li > a.is-active::after, .nav_category > ul > li > a:active::after, .nav_category > ul > li > a:focus::after, .nav_category > ul > li > a:hover::after {
          width: 50%;
          -webkit-transform: translateX(50%);
              -ms-transform: translateX(50%);
                  transform: translateX(50%);
          background-color: #6f9935; }
    .nav_category > ul > li.current-menu-item > a, .nav_category > ul > li.current-menu-parent > a {
      color: #6f9935; }
      .nav_category > ul > li.current-menu-item > a::after, .nav_category > ul > li.current-menu-parent > a::after {
        width: 50%;
        -webkit-transform: translateX(50%);
            -ms-transform: translateX(50%);
                transform: translateX(50%);
        background-color: #6f9935; }
    .nav_category > ul > li.current-menu-item > ul.sub-menu, .nav_category > ul > li.current-menu-parent > ul.sub-menu {
      display: -webkit-flex;
      display: flex; }
    .nav_category > ul > li > ul.sub-menu {
      box-shadow: inset 15px 8px 20px rgba(0, 0, 0, 0.1);
      width: 105%;
      margin-left: 0;
      display: none;
      position: absolute;
      left: 50%;
      height: 90px;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      -webkit-flex-direction: row;
              flex-direction: row;
      -webkit-justify-content: center;
              justify-content: center;
      -webkit-align-items: center;
              align-items: center;
      bottom: -5px; }
      @media screen and (max-width: 64em) {
        .nav_category > ul > li > ul.sub-menu {
          height: 100%; } }
      @media screen and (max-width: 63.9375em) {
        .nav_category > ul > li > ul.sub-menu {
          box-shadow: none;
          width: 100%;
          padding-top: 27px;
          padding-bottom: 7px;
          -webkit-flex-direction: column;
                  flex-direction: column;
          position: relative;
          left: 0;
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none; } }
      .nav_category > ul > li > ul.sub-menu > li {
        list-style-type: none;
        margin: 0 15px;
        text-align: center; }
        @media screen and (max-width: 63.9375em) {
          .nav_category > ul > li > ul.sub-menu > li {
            margin: 15px; } }
        .nav_category > ul > li > ul.sub-menu > li > a {
          background-color: #ffffff; }
        .nav_category > ul > li > ul.sub-menu > li.current-menu-item > a, .nav_category > ul > li > ul.sub-menu > li.is-active > a, .nav_category > ul > li > ul.sub-menu > li:active > a, .nav_category > ul > li > ul.sub-menu > li:focus > a, .nav_category > ul > li > ul.sub-menu > li:hover > a {
          background-color: #6f9935;
          color: #ffffff;
          padding: 6px 15px !important; }
      .nav_category > ul > li > ul.sub-menu > li a {
        color: #6f9935;
        text-align: center;
        transition: all ease .4s;
        font-size: 15px;
        font-size: 0.9375em;
        font-family: "Nunito", sans-serif;
        font-weight: 600;
        border: 1px solid #6f9935;
        padding: 6px 15px !important; }

.list-recettes .nav_category > ul > li > a:last-child {
  color: #204433; }
  .list-recettes .nav_category > ul > li > a:last-child::after {
    background-color: #204433; }
  .list-recettes .nav_category > ul > li > a:last-child:hover, .list-recettes .nav_category > ul > li > a:last-child.is-active {
    color: #6f9935 !important; }
    .list-recettes .nav_category > ul > li > a:last-child:hover::after, .list-recettes .nav_category > ul > li > a:last-child.is-active::after {
      background-color: #6f9935; }

.menu_cat_prod > .nav_category > ul > li > a {
  margin: 0 30px;
  padding: 10px 10px 0 10px; }

@media screen and (min-width: 64em) {
  .sub-category-menu .line {
    border: 1px solid #d6dddd;
    width: 100%;
    margin-top: 1.5625rem;
    margin-bottom: 0.9375rem; } }

@media screen and (max-width: 74.9375em) {
  .sub-category-menu .line {
    display: none; } }

.header-category-shop {
  position: relative;
  margin-bottom: 1.875rem; }
  .header-category-shop .background-left {
    position: absolute;
    z-index: 1;
    left: 0;
    content: '';
    width: 60%;
    height: 100%;
    background-color: #f4f6f6; }
    @media screen and (max-width: 63.9375em) {
      .header-category-shop .background-left {
        display: none; } }
  .header-category-shop .background-right {
    position: absolute;
    z-index: 1;
    right: 0;
    content: '';
    width: 40%;
    height: 100%;
    background-color: #fafafa; }
    @media screen and (max-width: 63.9375em) {
      .header-category-shop .background-right {
        width: 100%;
        z-index: 0; } }
  .header-category-shop .wrap-bloc-left {
    z-index: 2;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
    .header-category-shop .wrap-bloc-left img {
      display: block;
      max-width: 500px;
      margin: 0; }
      @media screen and (min-width: 82.5em) {
        .header-category-shop .wrap-bloc-left img {
          margin: 0 0 0 -70px; } }
    @media screen and (max-width: 63.9375em) {
      .header-category-shop .wrap-bloc-left {
        display: none; } }
  .header-category-shop .container-wrap-bloc-right {
    padding: 43px; }
  .header-category-shop .wrap-bloc-right {
    position: absolute;
    background-color: #ffffff;
    z-index: 2;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    padding: 1.25rem 2.1875rem; }
    @media screen and (max-width: 63.9375em) {
      .header-category-shop .wrap-bloc-right {
        position: inherit;
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0);
        top: 0; } }
    @media screen and (max-width: 74.9375em) {
      .header-category-shop .wrap-bloc-right {
        padding: 0.625rem 1.25rem; } }
    .header-category-shop .wrap-bloc-right--img {
      max-width: 100px; }
    .header-category-shop .wrap-bloc-right ul {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-justify-content: space-between;
              justify-content: space-between;
      margin: 0;
      padding: 0rem 0rem 0rem 0.875rem;
      margin-bottom: 20px; }
    .header-category-shop .wrap-bloc-right ul li {
      list-style-type: none;
      -webkit-flex: 50%;
              flex: 50%; }
    .header-category-shop .wrap-bloc-right .sans {
      position: relative;
      margin-bottom: 5px;
      color: #6f9930;
      list-style-image: url("../images/list.png");
      list-style-position: inside;
      font-size: 0.9rem; }
      .header-category-shop .wrap-bloc-right .sans:last-child {
        margin-bottom: 0; }
        @media screen and (max-width: 63.9375em) {
          .header-category-shop .wrap-bloc-right .sans:last-child {
            margin-bottom: 20px; } }
      .header-category-shop .wrap-bloc-right .sans::before {
        position: absolute;
        content: ' ';
        width: 20px;
        height: 20px; }
    .header-category-shop .wrap-bloc-right .tampon {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
              flex-direction: row;
      -webkit-justify-content: normal;
              justify-content: normal;
      -webkit-align-items: center;
              align-items: center; }
      @media screen and (min-width: 40em) {
        .header-category-shop .wrap-bloc-right .tampon {
          padding-left: 1rem; } }
      .header-category-shop .wrap-bloc-right .tampon--item {
        padding-right: 1.5625rem;
        max-width: 90px; }
        @media screen and (max-width: 63.9375em) {
          .header-category-shop .wrap-bloc-right .tampon--item {
            margin-bottom: 20px;
            padding-right: 0.125rem; } }
    .header-category-shop .wrap-bloc-right--title {
      font-weight: 700;
      margin-top: 10px;
      font-size: 16px;
      font-size: 1em; }
    .header-category-shop .wrap-bloc-right--txt {
      font-size: 14px;
      font-size: 0.875em;
      margin-bottom: 24px; }
    .header-category-shop .wrap-bloc-right--border {
      width: 80%;
      margin-left: 10%;
      height: 1px;
      background-color: #e5e5e5;
      margin-bottom: 24px; }
    .header-category-shop .wrap-bloc-right .wrap-tampon-processus {
      -webkit-flex: 2;
              flex: 2;
      margin-bottom: 1.25rem; }
      .header-category-shop .wrap-bloc-right .wrap-tampon-processus__container {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: space-between;
                justify-content: space-between;
        -webkit-align-items: flex-start;
                align-items: flex-start; }
        @media screen and (min-width: 64em) {
          .header-category-shop .wrap-bloc-right .wrap-tampon-processus__container {
            -webkit-flex-direction: row;
                    flex-direction: row; } }
    .header-category-shop .wrap-bloc-right .wrap-buttons-processus {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
              flex-direction: column;
      -webkit-align-items: center;
              align-items: center;
      -webkit-justify-content: center;
              justify-content: center;
      width: 100%;
      margin-bottom: 20px; }
      @media screen and (min-width: 32.0625em) {
        .header-category-shop .wrap-bloc-right .wrap-buttons-processus {
          -webkit-flex-direction: row;
                  flex-direction: row;
          -webkit-align-items: flex-end;
                  align-items: flex-end;
          -webkit-justify-content: flex-start;
                  justify-content: flex-start; } }
      @media screen and (min-width: 64em) {
        .header-category-shop .wrap-bloc-right .wrap-buttons-processus {
          -webkit-flex-direction: column;
                  flex-direction: column;
          -webkit-align-items: center;
                  align-items: center;
          -webkit-flex: 1;
                  flex: 1;
          margin-bottom: 0; } }
    .header-category-shop .wrap-bloc-right .button-processus {
      display: block;
      max-width: 230px;
      text-align: center;
      padding: 0.625rem 1.25rem;
      color: #6f9930;
      border: 1px solid #6f9930;
      transition: all ease-out 0.2s; }
      @media screen and (min-width: 64em) {
        .header-category-shop .wrap-bloc-right .button-processus {
          margin: 0 auto; } }
      .header-category-shop .wrap-bloc-right .button-processus:hover, .header-category-shop .wrap-bloc-right .button-processus:active, .header-category-shop .wrap-bloc-right .button-processus:focus {
        background-color: #6f9930;
        color: #ffffff; }

.my-category-product,
.products-container {
  margin-left: 0; }

.category-product-container {
  margin-bottom: 3.5rem; }

.cross-sells ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: center;
          align-items: center; }
  @media screen and (min-width: 46.875em) {
    .cross-sells ul {
      -webkit-flex-direction: row;
              flex-direction: row;
      -webkit-align-items: flex-start;
              align-items: flex-start; } }
  @media screen and (min-width: 64em) {
    .cross-sells ul :nth-child(n+4) {
      margin-top: 2.5rem !important; } }
  @media screen and (min-width: 75em) {
    .cross-sells ul :nth-child(n+4) {
      margin-top: 0 !important; } }
  @media screen and (min-width: 75em) {
    .cross-sells ul :nth-child(n+5) {
      margin-top: 2.5rem !important; } }
  .cross-sells ul li {
    width: 80% !important;
    margin: 0 1.5% !important;
    padding: 10px 30px !important; }
    @media screen and (min-width: 46.875em) {
      .cross-sells ul li {
        width: 30% !important; } }
    .cross-sells ul li a img {
      width: auto !important;
      height: 100% !important;
      max-height: 220px !important;
      margin: 0 auto !important; }

@media screen and (max-width: 74.9375em) {
  .my-category-product,
  .products-container {
    margin: 0 40px; } }

@media screen and (max-width: 63.9375em) {
  .my-category-product,
  .products-container {
    margin: 0; } }

.my-category-product ul,
.products-container ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: flex-start;
          justify-content: flex-start; }
  @media screen and (max-width: 74.9375em) {
    .my-category-product ul,
    .products-container ul {
      -webkit-justify-content: space-between;
              justify-content: space-between;
      -webkit-align-items: center;
              align-items: center; } }
  @media screen and (max-width: 63.9375em) {
    .my-category-product ul,
    .products-container ul {
      padding: 0 10px !important; } }
  @media screen and (min-width: 64em) {
    .my-category-product ul :nth-child(n+4),
    .products-container ul :nth-child(n+4) {
      margin-top: 2.5rem !important; } }
  @media screen and (min-width: 90em) {
    .my-category-product ul :nth-child(n+4),
    .products-container ul :nth-child(n+4) {
      margin-top: 0 !important; } }
  @media screen and (min-width: 75em) {
    .my-category-product ul :nth-child(n+5),
    .products-container ul :nth-child(n+5) {
      margin-top: 2.5rem !important; } }
  .my-category-product ul::after,
  .products-container ul::after {
    content: unset !important; }
    @media screen and (min-width: 64em) {
      .my-category-product ul::after,
      .products-container ul::after {
        content: "" !important;
        -webkit-flex: auto;
                flex: auto; } }
  @media screen and (max-width: 63.9375em) {
    .my-category-product ul::before,
    .products-container ul::before {
      content: unset !important; } }

.cross-sells .product a,
.my-category-product .product a,
.products-container .product a {
  font-family: "Nature", sans-serif;
  text-align: center;
  display: inline-block;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden; }
  .cross-sells .product a:nth-child(2),
  .my-category-product .product a:nth-child(2),
  .products-container .product a:nth-child(2) {
    padding: 0 !important;
    margin: 0.625rem 0 0 0 !important; }

.cross-sells .woocommerce-loop-product__link,
.my-category-product .woocommerce-loop-product__link,
.products-container .woocommerce-loop-product__link {
  position: relative; }
  .cross-sells .woocommerce-loop-product__link.js-is-hover .size-woocommerce_thumbnail,
  .my-category-product .woocommerce-loop-product__link.js-is-hover .size-woocommerce_thumbnail,
  .products-container .woocommerce-loop-product__link.js-is-hover .size-woocommerce_thumbnail {
    opacity: 0; }
  .cross-sells .woocommerce-loop-product__link.js-is-hover .image-product__hover,
  .my-category-product .woocommerce-loop-product__link.js-is-hover .image-product__hover,
  .products-container .woocommerce-loop-product__link.js-is-hover .image-product__hover {
    opacity: 1; }

.cross-sells .size-woocommerce_thumbnail,
.my-category-product .size-woocommerce_thumbnail,
.products-container .size-woocommerce_thumbnail {
  transition: opacity ease-in-out 0.3s; }

.cross-sells .image-product__hover,
.my-category-product .image-product__hover,
.products-container .image-product__hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity ease-in-out 0.3s; }

.cross-sells .product .woocommerce-loop-product__hover,
.my-category-product .product .woocommerce-loop-product__hover,
.products-container .product .woocommerce-loop-product__hover {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  background-color: rgba(226, 235, 242, 0.68);
  background-image: url("../images/eyes.png");
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: all .3 ease; }
  .cross-sells .product .woocommerce-loop-product__hover:hover,
  .my-category-product .product .woocommerce-loop-product__hover:hover,
  .products-container .product .woocommerce-loop-product__hover:hover {
    opacity: 1;
    transition: all .3 ease; }

.cross-sells .product .woocommerce-loop-product__hover-purchasable,
.my-category-product .product .woocommerce-loop-product__hover-purchasable,
.products-container .product .woocommerce-loop-product__hover-purchasable {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  background-color: rgba(226, 235, 242, 0.68);
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: all .3 ease; }
  .cross-sells .product .woocommerce-loop-product__hover-purchasable .wraper,
  .my-category-product .product .woocommerce-loop-product__hover-purchasable .wraper,
  .products-container .product .woocommerce-loop-product__hover-purchasable .wraper {
    opacity: 1;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    .cross-sells .product .woocommerce-loop-product__hover-purchasable .wraper img,
    .my-category-product .product .woocommerce-loop-product__hover-purchasable .wraper img,
    .products-container .product .woocommerce-loop-product__hover-purchasable .wraper img {
      margin: 0; }
      .cross-sells .product .woocommerce-loop-product__hover-purchasable .wraper img:nth-child(1),
      .my-category-product .product .woocommerce-loop-product__hover-purchasable .wraper img:nth-child(1),
      .products-container .product .woocommerce-loop-product__hover-purchasable .wraper img:nth-child(1) {
        width: 80px;
        height: 80px !important; }
      .cross-sells .product .woocommerce-loop-product__hover-purchasable .wraper img:nth-child(2),
      .my-category-product .product .woocommerce-loop-product__hover-purchasable .wraper img:nth-child(2),
      .products-container .product .woocommerce-loop-product__hover-purchasable .wraper img:nth-child(2) {
        width: 80px;
        height: 80px !important;
        margin-left: 25px; }
  .cross-sells .product .woocommerce-loop-product__hover-purchasable:hover,
  .my-category-product .product .woocommerce-loop-product__hover-purchasable:hover,
  .products-container .product .woocommerce-loop-product__hover-purchasable:hover {
    opacity: 1;
    transition: all .3 ease; }

.woocommerce ul.my-category-product ul.products li.product,
.woocommerce-page ul.my-category-product ul.products li.product,
.cross-sells ul.my-category-product ul.products li.product {
  position: relative;
  width: 45% !important;
  margin: 20px 1.5%;
  padding: 0; }
  @media screen and (min-width: 64em) {
    .woocommerce ul.my-category-product ul.products li.product,
    .woocommerce-page ul.my-category-product ul.products li.product,
    .cross-sells ul.my-category-product ul.products li.product {
      width: 30% !important;
      margin: 0 1.5%;
      padding: 10px 30px; } }
  @media screen and (min-width: 90em) {
    .woocommerce ul.my-category-product ul.products li.product,
    .woocommerce-page ul.my-category-product ul.products li.product,
    .cross-sells ul.my-category-product ul.products li.product {
      width: 22% !important; } }
  .woocommerce ul.my-category-product ul.products li.product a img,
  .woocommerce-page ul.my-category-product ul.products li.product a img,
  .cross-sells ul.my-category-product ul.products li.product a img {
    margin: 0 auto;
    width: 100%;
    height: auto !important; }
  .woocommerce ul.my-category-product ul.products li.product h2,
  .woocommerce-page ul.my-category-product ul.products li.product h2,
  .cross-sells ul.my-category-product ul.products li.product h2 {
    text-align: center; }

.woocommerce li.product,
.woocommerce-page li.product {
  margin: 0;
  padding: 0;
  width: 33.33%;
  position: relative;
  text-align: center; }

.menu-category-shop-mobile {
  display: none; }
  @media screen and (max-width: 74.9375em) {
    .menu-category-shop-mobile {
      display: block;
      font-size: 1.375em;
      font-family: "Bryndan", sans-serif;
      color: #000000;
      padding: 0.625rem 0 0.625rem 0;
      text-align: center;
      cursor: pointer; } }
  @media screen and (max-width: 74.9375em) {
    .menu-category-shop-mobile .arrow {
      display: inline;
      position: relative; } }
  @media screen and (max-width: 74.9375em) {
    .menu-category-shop-mobile .arrow svg {
      position: absolute;
      top: 0.28125em;
      left: 0.9375em;
      height: 15px;
      width: auto;
      fill: #333333; } }
  @media screen and (max-width: 74.9375em) {
    .menu-category-shop-mobile .rotate svg {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); } }

@media screen and (max-width: 74.9375em) {
  .nav_category-mobile-inactive {
    display: none; } }

.processus-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 9998; }
  .processus-bg.is-active {
    display: block; }

.processus-wrap {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto; }
  .processus-wrap.is-active {
    display: block; }

.processus-container {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10000;
  top: 50px;
  left: 0; }
  .processus-container .close {
    position: absolute;
    top: 100px;
    right: 55px;
    z-index: 10000;
    cursor: pointer; }
    .processus-container .close img {
      height: 30px;
      width: 30px; }
    @media screen and (max-width: 74.9375em) {
      .processus-container .close {
        top: 50px;
        right: 15px; } }
    .processus-container .close.is-hide {
      display: none; }

.processus-content {
  position: relative;
  display: block;
  vertical-align: middle;
  margin: 0 auto;
  z-index: 10001;
  max-width: 75%;
  padding: 100px; }
  @media screen and (max-width: 74.9375em) {
    .processus-content {
      max-width: 100%;
      padding: 50px; } }

.wrap-button-coloriage {
  position: relative;
  margin-top: 60px; }
  @media screen and (min-width: 32.0625em) {
    .wrap-button-coloriage {
      margin-top: 0;
      margin-left: 20px; } }
  @media screen and (min-width: 64em) {
    .wrap-button-coloriage {
      margin-top: 60px;
      margin-left: 0; } }
  .wrap-button-coloriage:hover .wrap-button-coloriage__image {
    bottom: 0; }

.wrap-button-coloriage__image {
  position: absolute;
  bottom: -10px;
  left: 50%;
  z-index: -1;
  width: 150px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  transition: all ease-out 0.2s; }
  @media screen and (min-width: 64em) {
    .wrap-button-coloriage__image {
      bottom: 20px; } }
  @media screen and (min-width: 66.25em) {
    .wrap-button-coloriage__image {
      bottom: -10px; } }

.button-coloriage {
  display: block;
  max-width: 230px;
  margin: 20px auto 0 auto;
  text-align: center;
  padding: 0.625rem 1.25rem;
  color: #ffffff;
  background-color: #e23474;
  border: 1px solid #e23474;
  transition: all ease-out 0.2s; }
  .button-coloriage:hover {
    color: #e23474;
    background-color: #ffffff; }

.cross-sells .variations,
.my-category-product .variations,
.products-container .variations {
  margin: 5px auto 0 auto; }
  .cross-sells .variations tbody,
  .my-category-product .variations tbody,
  .products-container .variations tbody {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
            flex-direction: row; }
    @media screen and (min-width: 90em) {
      .cross-sells .variations tbody,
      .my-category-product .variations tbody,
      .products-container .variations tbody {
        -webkit-flex-direction: column;
                flex-direction: column; } }
  @media screen and (min-width: 90em) {
    .cross-sells .variations tr:nth-child(1),
    .my-category-product .variations tr:nth-child(1),
    .products-container .variations tr:nth-child(1) {
      margin-bottom: 5px; } }
  .cross-sells .variations tr:nth-child(2),
  .my-category-product .variations tr:nth-child(2),
  .products-container .variations tr:nth-child(2) {
    margin-left: 10px; }
    @media screen and (min-width: 90em) {
      .cross-sells .variations tr:nth-child(2),
      .my-category-product .variations tr:nth-child(2),
      .products-container .variations tr:nth-child(2) {
        margin-left: 0; } }

@media screen and (min-width: 90em) {
  .cross-sells .variations .label,
  .my-category-product .variations .label,
  .products-container .variations .label {
    width: 27%; } }

.cross-sells .variations .label label,
.my-category-product .variations .label label,
.products-container .variations .label label {
  margin-right: 5px;
  font-weight: 600; }

.cross-sells .variations .value select,
.my-category-product .variations .value select,
.products-container .variations .value select {
  height: 35px;
  margin: 0;
  padding: 4px 24px 4px 8px !important;
  font-size: 13px; }

.cross-sells .woocommerce-variation-add-to-cart,
.my-category-product .woocommerce-variation-add-to-cart,
.products-container .woocommerce-variation-add-to-cart {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: stretch;
          align-items: stretch;
  -webkit-justify-content: center;
          justify-content: center; }
  .cross-sells .woocommerce-variation-add-to-cart .quantity,
  .my-category-product .woocommerce-variation-add-to-cart .quantity,
  .products-container .woocommerce-variation-add-to-cart .quantity {
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 1;
            flex: 1; }
    .cross-sells .woocommerce-variation-add-to-cart .quantity .quantity-nav,
    .my-category-product .woocommerce-variation-add-to-cart .quantity .quantity-nav,
    .products-container .woocommerce-variation-add-to-cart .quantity .quantity-nav {
      height: auto; }
      .cross-sells .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-down,
      .cross-sells .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-up,
      .my-category-product .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-down,
      .my-category-product .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-up,
      .products-container .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-down,
      .products-container .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-up {
        height: 49%; }
      .cross-sells .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-down,
      .my-category-product .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-down,
      .products-container .woocommerce-variation-add-to-cart .quantity .quantity-nav .quantity-down {
        bottom: 0; }
    .cross-sells .woocommerce-variation-add-to-cart .quantity .qty,
    .my-category-product .woocommerce-variation-add-to-cart .quantity .qty,
    .products-container .woocommerce-variation-add-to-cart .quantity .qty {
      padding: 0.350em; }
  .cross-sells .woocommerce-variation-add-to-cart .button,
  .my-category-product .woocommerce-variation-add-to-cart .button,
  .products-container .woocommerce-variation-add-to-cart .button {
    -webkit-flex: 4;
            flex: 4;
    margin-top: 0 !important;
    padding: 0.518em 5px !important;
    font-size: 13px !important; }
    @media screen and (min-width: 64em) {
      .cross-sells .woocommerce-variation-add-to-cart .button,
      .my-category-product .woocommerce-variation-add-to-cart .button,
      .products-container .woocommerce-variation-add-to-cart .button {
        -webkit-flex: 3;
                flex: 3; } }

.cross-sells .woocommerce-variation,
.my-category-product .woocommerce-variation,
.products-container .woocommerce-variation {
  display: none !important; }

.cross-sells .single_variation_wrap,
.my-category-product .single_variation_wrap,
.products-container .single_variation_wrap {
  max-width: 200px;
  margin: 0 auto; }

.clear {
  clear: both; }

.singleProductContainer {
  margin-top: 45px; }
  @media screen and (max-width: 39.9375em) {
    .singleProductContainer {
      padding: 30px; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .singleProductContainer {
      padding: 30px; } }
  @media screen and (max-width: 63.9375em) {
    .singleProductContainer .summary {
      display: -webkit-flex !important;
      display: flex !important;
      -webkit-flex-direction: column-reverse !important;
              flex-direction: column-reverse !important; } }
  @media screen and (max-width: 63.9375em) {
    .singleProductContainer .summary .product_meta {
      -webkit-order: 1;
              order: 1; } }
  @media screen and (max-width: 63.9375em) {
    .singleProductContainer .summary .product_title {
      -webkit-order: 2;
              order: 2; } }
  @media screen and (max-width: 63.9375em) {
    .singleProductContainer .summary .variations_form {
      margin: 2rem 0 1rem 0 !important; } }

.singleProduct--bigTxt {
  font-size: 14;
  font-size: 0.875em;
  padding: 20px; }
  .singleProduct--bigTxt strong {
    font-weight: 700; }
  .singleProduct--bigTxt ul {
    list-style: circle;
    padding: 0;
    margin: 0; }

.singleProduct--nutrition {
  font-size: 14;
  font-size: 0.875em;
  padding: 20px; }

.singleProduct--recette--related--content {
  text-align: center; }
  .singleProduct--recette--related--content--img img {
    width: 100%; }
  .singleProduct--recette--related--content--title {
    font-size: 1.125em;
    margin-top: 30px; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .singleProduct--recette--related--content--title {
        width: 60%;
        margin-left: 20%; } }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  border-radius: 0;
  background-color: #f2f2f2;
  position: relative; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  position: relative; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
    content: '';
    width: 100%;
    height: 3px;
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    box-shadow: none;
    background-color: #6f9930;
    border-radius: 0; }

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs {
  background-color: #f2f2f2;
  padding: 0; }

.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  display: none; }

.woocommerce div.product .product_title {
  font-family: "Nature", sans-serif;
  margin-bottom: 0;
  font-size: 30px; }
  @media screen and (min-width: 64em) {
    .woocommerce div.product .product_title {
      font-size: 35px; } }

.woocommerce div.product form.cart .variations td.label {
  padding-right: 0;
  width: 100px; }

.woocommerce div.product .woocommerce-product-rating {
  margin-top: -0.5em; }

.price {
  margin-bottom: 1.25em;
  font-size: 1.25em !important;
  color: #000000 !important; }

.price_from {
  color: #000000;
  font-weight: 700; }

.posted_in {
  font-family: "Nature", sans-serif; }
  .posted_in a {
    font-size: 25;
    font-size: 1.5625em; }
    @media screen and (max-width: 39.9375em) {
      .posted_in a {
        font-size: 40;
        font-size: 2.5em; } }

a.posted_in {
  font-family: "Nature", sans-serif;
  font-size: 19;
  font-size: 1.1875em; }

.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb {
  color: #000000;
  font-size: 16px;
  font-weight: 600;
  color: #204433; }

.woocommerce .woocommerce-breadcrumb .breadcrumb-item:last-child {
  color: #6f9930; }

.woocommerce div.product form.cart .button {
  text-transform: uppercase;
  padding: 17px 28px; }
  @media screen and (max-width: 39.9375em) {
    .woocommerce div.product form.cart .button {
      font-size: 1em; } }

.single_add_to_cart_button.button.alt {
  border-radius: 0;
  padding: 10px;
  font-size: 14;
  font-size: 0.875em; }
  @media screen and (max-width: 39.9375em) {
    .single_add_to_cart_button.button.alt {
      font-size: 26;
      font-size: 1.625em;
      padding: 15px; } }

.woocommerce .quantity .qty {
  padding: 8px;
  height: auto;
  border: none;
  box-shadow: none;
  background-color: #f2f2f2;
  width: 3em;
  padding: 0.625em;
  font-size: 17;
  font-size: 1.0625em; }
  @media screen and (max-width: 39.9375em) {
    .woocommerce .quantity .qty {
      font-size: 16;
      font-size: 1em;
      padding: 11px; } }

.woocommerce-product-details__short-description {
  margin: 1.25em 0 1.875em 0;
  font-size: 0.875em; }

.woocommerce .woocommerce-review-link {
  font-size: 0.875em; }

.woocommerce-Price-amount.amount:nth-child(1) {
  color: #000;
  font-weight: 700; }
  @media screen and (max-width: 39.9375em) {
    .woocommerce-Price-amount.amount:nth-child(1) {
      font-size: 16px;
      font-size: 1em; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .singleProductConatainer {
    padding: 0 30px; } }

.woocommerce-tabs-mobile .tabs-mobile {
  list-style: none;
  padding: 0 5%;
  margin: 0; }
  .woocommerce-tabs-mobile .tabs-mobile .title-tabs {
    color: #000;
    font-size: 20;
    font-size: 1.25em;
    border-top: 1px solid;
    padding: 20px;
    cursor: pointer; }
    .woocommerce-tabs-mobile .tabs-mobile .title-tabs.activeTitle, .woocommerce-tabs-mobile .tabs-mobile .title-tabs.activeTitle a {
      color: #729636; }
    .woocommerce-tabs-mobile .tabs-mobile .title-tabs a {
      color: #000; }
  .woocommerce-tabs-mobile .tabs-mobile .arrow {
    width: 20px;
    float: right; }
    .woocommerce-tabs-mobile .tabs-mobile .arrow svg {
      fill: #b6b6b6;
      transition: all ease 0.3s; }
  .woocommerce-tabs-mobile .tabs-mobile .title-tabs.activeTitle .arrow svg {
    fill: #729636;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    transition: all ease 0.3s; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "Nunito", sans-serif;
  font-weight: normal;
  font-size: 0.875em; }

.comment-form .form-submit .submit {
  background-color: #6f9930 !important;
  color: white !important;
  font-size: 0.875em !important;
  text-align: center !important;
  text-transform: uppercase !important; }

.comment-form .comment-form-rating .stars a {
  color: #6f9930; }

.comment-text .star-rating span {
  color: #6f9930; }

.woocommerce div.product div.images img {
  width: auto; }

.woocommerce-Tabs-panel ul {
  list-style: circle;
  margin-left: 20px; }

.woocommerce-product-gallery__image {
  max-width: 500px;
  margin: 0 auto; }

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  line-height: 0; }

.woocommerce div.product div.summary {
  margin-bottom: 0; }

.shop-container {
  max-width: 1300px;
  height: 100%;
  margin: 0 auto; }
  .shop-container .product {
    position: relative;
    width: 45% !important;
    margin: 20px 1.5% !important;
    padding: 0 !important; }
    @media screen and (min-width: 64em) {
      .shop-container .product {
        width: 30% !important;
        margin: 0 1.5% !important;
        padding: 10px 30px !important; } }
    .shop-container .product a img {
      margin: 0 auto;
      width: 100%;
      height: auto !important; }
    .shop-container .product h2 {
      text-align: center; }
    @media screen and (min-width: 40em) {
      .shop-container .product .woocommerce-loop-product__title {
        min-height: 60px; } }
  .shop-container .woocommerce-loop-category__title {
    font-family: "Nature", sans-serif; }
  .shop-container .products li.product-category {
    width: 47% !important; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .shop-container .products li.product-category {
        width: 47%; } }
    @media screen and (max-width: 39.9375em) {
      .shop-container .products li.product-category {
        width: 97%; } }
  .shop-container .moreProducts {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    cursor: pointer; }
    .shop-container .moreProducts span {
      font-size: 16px;
      font-family: "Nunito", sans-serif;
      color: #204433;
      font-weight: 700;
      line-height: 1.251; }
    .shop-container .moreProducts svg {
      width: 20px; }

.quantity {
  position: relative; }

.quantity input[type=number]::-webkit-inner-spin-button,
.quantity input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

.quantity input[type=number] {
  -moz-appearance: textfield; }

.quantity input {
  width: 45px;
  height: 42px;
  line-height: 1.65;
  float: left;
  display: block;
  padding: 0;
  margin: 0;
  padding-left: 20px;
  border: 1px solid white; }

.quantity input:focus {
  outline: 0; }

.quantity-nav {
  float: left;
  position: relative;
  height: 48px;
  margin-left: 20px; }

.quantity-nav {
  float: left;
  position: relative;
  height: 48px;
  margin-left: 20px; }

.quantity-button {
  position: relative;
  cursor: pointer;
  border-left: 1px solid white;
  width: 20px;
  text-align: center;
  color: #333;
  font-size: 13px;
  font-family: "Trebuchet MS", Helvetica, sans-serif !important;
  line-height: 1.7;
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
      transform: translateX(-100%);
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
  background: #F2F2F2; }

.quantity-button.quantity-up {
  position: absolute;
  height: 50%;
  top: 0;
  border-bottom: 1px solid #eee;
  background-color: #F2F2F2; }

.quantity-button.quantity-down {
  position: absolute;
  bottom: -1px;
  height: 50%;
  background-color: #F2F2F2; }

#header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  -webkit-align-items: center;
          align-items: center;
  width: 100%;
  padding: 0 10px;
  background-color: #ffffff; }
  @media screen and (min-width: 64em) {
    #header {
      -webkit-justify-content: space-around;
              justify-content: space-around; } }

#logo {
  width: 5rem;
  margin: 0 auto; }
  @media screen and (min-width: 40em) {
    #logo {
      margin: 0; } }
  @media screen and (min-width: 77.5em) {
    #logo {
      width: 6.25rem; } }

li.panier {
  position: relative;
  padding-right: 1rem; }
  li.panier::after {
    content: '';
    position: absolute;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -ms-transform: translateY(-50%)\9;
    right: 0;
    background-image: url("../images/panier.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 1.5rem;
    height: 1.5rem; }

.header-right {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: space-between;
          justify-content: space-between; }
  .header-right__icon {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    padding: 0 5px; }
    @media screen and (min-width: 77.5em) {
      .header-right__icon {
        padding: 0 13px; } }
    .header-right__icon::after {
      position: absolute;
      top: 50%;
      right: 0;
      width: 1px;
      height: 7px;
      background-color: #6f9930;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: ""; }
    .header-right__icon svg {
      -webkit-transform: scale(0.7);
          -ms-transform: scale(0.7);
              transform: scale(0.7); }
      @media screen and (min-width: 77.5em) {
        .header-right__icon svg {
          -webkit-transform: scale(1);
              -ms-transform: scale(1);
                  transform: scale(1); } }
      .header-right__icon svg path,
      .header-right__icon svg rect {
        fill: #6f9930; }
    .header-right__icon--newsletter {
      display: none; }
      @media screen and (min-width: 64em) {
        .header-right__icon--newsletter {
          display: -webkit-flex;
          display: flex; } }
      @media screen and (min-width: 77.5em) {
        .header-right__icon--newsletter {
          padding: 0 13px 0 0; } }
      .header-right__icon--newsletter svg {
        width: 25px;
        height: 17px; }
    .header-right__icon--search svg {
      width: 20px;
      height: 20px; }
    .header-right__icon--cart svg {
      width: 37px;
      height: 30px; }
      .header-right__icon--cart svg path {
        fill: transparent;
        stroke: #204433; }
      .header-right__icon--cart svg rect {
        fill: #204433; }
    .header-right__icon--cart {
      position: relative; }
      .header-right__icon--cart.is-full .cart-contents-count {
        display: block; }
      .header-right__icon--cart .cart-contents-count {
        position: absolute;
        bottom: -8px;
        right: 11px;
        display: none;
        width: 20px;
        height: 20px;
        font-weight: 600;
        font-size: 12px;
        text-align: center;
        background-color: #ffffff;
        border: 1.5px solid #204433;
        border-radius: 100%;
        -webkit-transform: scale(0.8);
            -ms-transform: scale(0.8);
                transform: scale(0.8); }
        @media screen and (min-width: 77.5em) {
          .header-right__icon--cart .cart-contents-count {
            -webkit-transform: scale(1);
                -ms-transform: scale(1);
                    transform: scale(1); } }
      .header-right__icon--cart::after {
        display: none; }
        @media screen and (min-width: 64em) {
          .header-right__icon--cart::after {
            display: block; } }

.nav_header {
  font-family: "Bryndan", sans-serif;
  font-size: 1.5625em;
  /* megamenu submenu */
  /* niveau 1 */
  /* niveau 2 - type taxonomy */ }
  @media screen and (max-width: 1200px) {
    .nav_header {
      font-size: 1.25rem; } }
  .nav_header .black-cart.current_page_parenta.is-active::after, .nav_header .black-cart.current_page_itema.is-active::after {
    display: block;
    content: ' ';
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhbHF1ZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgODcuNiA2Ny44IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4Ny42IDY3Ljg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojNkY5OTMwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9Cjwvc3R5bGU+Cjx0aXRsZT5GaWNoaWVyIDIxPC90aXRsZT4KPGcgaWQ9IkNhbHF1ZV8yIj4KCTxnIGlkPSJDYWxxdWVfMS0yIj4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTIuNiwyMS45TDMzLjUsMUwxMi42LDIxLjl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTc1LjMsMjEuOUw1NC40LDFMNzUuMywyMS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zLjUsMjIuOWg4MC42YzEuNCwwLDIuNSwxLjEsMi41LDIuNXY1LjRjMCwxLjQtMS4xLDIuNS0yLjUsMi41SDMuNWMtMS40LDAtMi41LTEuMS0yLjUtMi41di01LjQKCQkJQzEsMjQsMi4xLDIyLjksMy41LDIyLjl6Ii8+CgkJPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iNi4yLDMzLjMgMTkuMyw2Ni44IDY1LjIsNjYuOCA4MS40LDMzLjMgCQkiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjkuMiw0My44TDI5LjIsNDMuOHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTguNCw0My44TDU4LjQsNDMuOHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDMuOCw0My44TDQzLjgsNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K") !important;
    background-size: 28px 28px;
    height: 28px;
    width: 28px;
    position: absolute;
    top: 7px;
    right: -5px; }
  .nav_header .black-cart > a {
    position: relative;
    padding-right: 45px !important; }
    @media screen and (min-width: 77.5em) {
      .nav_header .black-cart > a {
        padding-right: 55px !important; } }
    .nav_header .black-cart > a::before {
      position: absolute;
      top: 50%;
      right: 10px;
      display: block;
      height: 28px;
      width: 28px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4Ny41OCA2Ny43NSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDA7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDoycHg7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5GaWNoaWVyIDE3PC90aXRsZT48ZyBpZD0iQ2FscXVlXzIiIGRhdGEtbmFtZT0iQ2FscXVlIDIiPjxnIGlkPSJDYWxxdWVfMS0yIiBkYXRhLW5hbWU9IkNhbHF1ZSAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMi42NSwyMS44NywzMy41MywxWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc1LjI4LDIxLjg3LDU0LjQsMVoiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjEiIHk9IjIyLjkyIiB3aWR0aD0iODUuNTgiIGhlaWdodD0iMTAuNDQiIHJ4PSIyLjUiIHJ5PSIyLjUiLz48cG9seWxpbmUgY2xhc3M9ImNscy0xIiBwb2ludHM9IjYuMjIgMzMuMzUgMTkuMjcgNjYuNzUgNjUuMTkgNjYuNzUgODEuMzYgMzMuMzUiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yOS4xOCw0My43OXYwWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTU4LjQsNDMuNzl2MFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00My43OSw0My43OXYwWiIvPjwvZz48L2c+PC9zdmc+");
      background-size: 28px 28px;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: ' '; }
      @media screen and (min-width: 77.5em) {
        .nav_header .black-cart > a::before {
          right: 20px; } }
  .nav_header .black-cart:hover a::before {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhbHF1ZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgODcuNiA2Ny44IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4Ny42IDY3Ljg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojNkY5OTMwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9Cjwvc3R5bGU+Cjx0aXRsZT5GaWNoaWVyIDIxPC90aXRsZT4KPGcgaWQ9IkNhbHF1ZV8yIj4KCTxnIGlkPSJDYWxxdWVfMS0yIj4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTIuNiwyMS45TDMzLjUsMUwxMi42LDIxLjl6Ii8+CgkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTc1LjMsMjEuOUw1NC40LDFMNzUuMywyMS45eiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zLjUsMjIuOWg4MC42YzEuNCwwLDIuNSwxLjEsMi41LDIuNXY1LjRjMCwxLjQtMS4xLDIuNS0yLjUsMi41SDMuNWMtMS40LDAtMi41LTEuMS0yLjUtMi41di01LjQKCQkJQzEsMjQsMi4xLDIyLjksMy41LDIyLjl6Ii8+CgkJPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iNi4yLDMzLjMgMTkuMyw2Ni44IDY1LjIsNjYuOCA4MS40LDMzLjMgCQkiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjkuMiw0My44TDI5LjIsNDMuOHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTguNCw0My44TDU4LjQsNDMuOHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDMuOCw0My44TDQzLjgsNDMuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K") !important;
    background-size: 28px 28px;
    content: ' '; }
  .nav_header ul li {
    list-style: none; }
  .nav_header ul:not(.sub-menu) > li:not(:last-child) > a::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 7px;
    background-color: #6f9930;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    content: ""; }
  .nav_header ul:not(.sub-menu) > li > a {
    position: relative;
    padding: 30px 10px;
    font-size: 18px;
    color: #204433; }
    @media screen and (min-width: 64em) {
      .nav_header ul:not(.sub-menu) > li > a {
        padding: 30px 8px; } }
    @media screen and (min-width: 77.5em) {
      .nav_header ul:not(.sub-menu) > li > a {
        padding: 30px 20px; } }
  .nav_header ul:not(.sub-menu) > li:hover > a {
    color: #6f9930; }
  .nav_header ul:not(.sub-menu) > li:hover > .sub-menu {
    display: -webkit-flex;
    display: flex; }
    .nav_header ul:not(.sub-menu) > li:hover > .sub-menu > li:hover > a::after {
      display: block; }
    .nav_header ul:not(.sub-menu) > li:hover > .sub-menu > li:hover > .sub-menu,
    .nav_header ul:not(.sub-menu) > li:hover > .sub-menu > li:hover > .wrap-submenu {
      display: -webkit-flex;
      display: flex; }
  .nav_header ul:not(.sub-menu) > li.current_page_ancestor > a,
  .nav_header ul:not(.sub-menu) > li.current_page_parent > a,
  .nav_header ul:not(.sub-menu) > li.current-menu-parent > a,
  .nav_header ul:not(.sub-menu) > li.current_page_item > a {
    color: #6f9930; }
  .nav_header > ul > li > .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 100;
    display: none;
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: space-around;
            justify-content: space-around;
    width: 90%;
    margin-left: 0;
    background-color: rgba(32, 68, 51, 0.8);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    @media screen and (min-width: 77.5em) {
      .nav_header > ul > li > .sub-menu {
        width: 80%; } }
    .nav_header > ul > li > .sub-menu > li {
      -webkit-flex: 25%;
              flex: 25%;
      padding: 15px 0;
      text-align: center; }
    .nav_header > ul > li > .sub-menu > li > a {
      position: relative;
      color: #ffffff;
      font-size: 20px;
      font-weight: 600;
      white-space: nowrap;
      text-transform: uppercase; }
    .nav_header > ul > li > .sub-menu > li.menu-item-has-children > a::after,
    .nav_header > ul > li > .sub-menu > li.menu-item-type-post_type > a::after {
      position: absolute;
      bottom: 15px;
      left: 50%;
      display: none;
      width: 8px;
      height: 8px;
      border-top: 1px solid #cadb44;
      border-right: 1px solid #cadb44;
      -webkit-transform: translateY(-50%) rotate(135deg) skew(8deg, 8deg);
          -ms-transform: translateY(-50%) rotate(135deg) skew(8deg, 8deg);
              transform: translateY(-50%) rotate(135deg) skew(8deg, 8deg);
      transition: all ease-out 0.2s;
      content: ""; }
    .nav_header > ul > li > .sub-menu > li:hover a {
      color: #cadb44; }
  .nav_header > ul > li > .sub-menu > li > .sub-menu,
  .nav_header > ul > li > .sub-menu > li > .wrap-submenu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 100;
    display: none;
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: flex-end;
            align-items: flex-end;
    width: 100%;
    margin-left: 0;
    padding: 30px 30px 40px 30px;
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    .nav_header > ul > li > .sub-menu > li > .sub-menu > li,
    .nav_header > ul > li > .sub-menu > li > .wrap-submenu > li {
      text-align: center; }
    .nav_header > ul > li > .sub-menu > li > .sub-menu > li > a,
    .nav_header > ul > li > .sub-menu > li > .wrap-submenu > li > a {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column-reverse;
              flex-direction: column-reverse;
      -webkit-align-items: center;
              align-items: center;
      -webkit-justify-content: center;
              justify-content: center;
      padding: 0 !important;
      color: #204433;
      font-family: "Nunito", sans-serif;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.2;
      white-space: nowrap; }
      .nav_header > ul > li > .sub-menu > li > .sub-menu > li > a .menu-item-txt,
      .nav_header > ul > li > .sub-menu > li > .wrap-submenu > li > a .menu-item-txt {
        margin-top: 15px;
        color: #000000;
        font-family: "Bryndan", sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1; }
  .nav_header > ul > li > .sub-menu > li > .sub-menu {
    -webkit-justify-content: space-evenly;
            justify-content: space-evenly; }
    .nav_header > ul > li > .sub-menu > li > .sub-menu .child-cat-img {
      max-width: 1000px;
      max-height: 400px; }
  .nav_header > ul > li > .sub-menu > li > .wrap-submenu {
    -webkit-justify-content: center;
            justify-content: center; }
    .nav_header > ul > li > .sub-menu > li > .wrap-submenu .child-cat-img {
      max-width: 1000px;
      max-height: 400px; }
  .nav_header .na-project {
    background: url("../images/logo-na-project.svg") no-repeat center;
    background-size: 77px 35px; }
    .nav_header .na-project a {
      color: transparent !important; }

.header-back {
  background-color: #ffffff; }

@media screen and (max-width: 63.9375em) {
  .woo-cart {
    top: -6.25rem;
    right: -0.125rem; } }

@media screen and (max-width: 63.9375em) {
  .woo-cart:after {
    display: none; } }

/* Responsive */
.menu-responsive-menu .menu .menu-item-has-children.accordion {
  position: relative;
  height: auto;
  transition: all 0.5s ease; }
  .menu-responsive-menu .menu .menu-item-has-children.accordion > a::after {
    position: absolute;
    top: 50%;
    right: 0.9375rem;
    line-height: 1;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
    -webkit-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
    transition-duration: 0.4s;
    content: '>'; }

.menu-responsive-menu .menu .menu-item-has-children > .sub-menu {
  height: 100%;
  transition: height ease-out 0.2s; }

.menu-responsive-menu .menu .menu-item-has-children.accordion-hide > .sub-menu {
  height: 0;
  overflow: hidden;
  transition: height ease-out 0.2s; }

.menu-responsive-menu .menu .menu-item-has-children.accordion-hide > a::after {
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  line-height: 1;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateY(-50%) rotate(0);
      -ms-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
  transition-duration: 0.4s;
  content: '>'; }

.menu-responsive-menu .menu .wrap-submenu,
.menu-responsive-menu .menu .menu-item-txt,
.menu-responsive-menu .menu .child-cat-img {
  display: none; }

.menu-responsive-menu .menu > li > ul > li {
  background-color: #204433 !important; }
  .menu-responsive-menu .menu > li > ul > li > a {
    color: #ffffff !important;
    background-color: #204433 !important; }

.menu-responsive-menu .menu > li > a {
  padding: 1.25rem 1.25rem 1.25rem 1.875rem !important; }

.menu-responsive-menu .menu > li > ul > li > a {
  padding: 1.25rem 1.25rem 1.25rem 3.75rem !important; }

.menu-responsive-menu .menu > li > ul > li > ul > li > a {
  padding: 1.25rem 1.25rem 1.25rem 5.625rem !important; }

.sub-menu a {
  padding: 1.25rem 1.25rem 1.875rem 1.25rem !important; }

section#main {
  position: relative;
  z-index: 0; }

.main-thumbnail {
  position: relative;
  height: 65vh !important; }
  .main-thumbnail .flickity-prev-next-button {
    display: none; }

.fs-carousel {
  height: 65vh; }

.carousel-cell {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0; }

.lang-switcher {
  position: relative;
  display: none;
  font-family: "Bryndan", sans-serif;
  font-size: 15px; }
  @media screen and (min-width: 64em) {
    .lang-switcher {
      display: block; } }
  .lang-switcher *:first-letter {
    text-transform: uppercase; }
  .lang-switcher ul {
    transition-duration: 0.2s;
    margin-left: 0;
    list-style: none;
    padding: 0.9375rem;
    list-style: none;
    position: absolute;
    right: 0;
    margin-left: 1rem;
    display: none;
    background-color: rgba(32, 68, 51, 0.7);
    text-align: right; }
    .lang-switcher ul:hover, .lang-switcher ul:active, .lang-switcher ul:focus {
      display: block; }
    .lang-switcher ul a {
      color: #ffffff;
      white-space: nowrap;
      transition-duration: 0.2s; }
      .lang-switcher ul a:hover, .lang-switcher ul a:active, .lang-switcher ul a:focus {
        color: #c2d649; }
    .lang-switcher ul::after {
      content: "";
      position: absolute;
      bottom: 100%;
      left: 0.75rem;
      display: block;
      width: 0;
      height: 0;
      border: inset 0.5rem;
      content: '';
      border-top-width: 0;
      border-bottom-style: solid;
      border-color: transparent transparent rgba(32, 68, 51, 0.7); }
  .lang-switcher.js-is-hover .lang-switcher-button::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
        -ms-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }

.lang-switcher-button {
  position: relative;
  padding: 10px 18px 10px 8px;
  color: #204433;
  font-family: "Bryndan", sans-serif;
  font-size: 15px;
  text-transform: uppercase;
  cursor: pointer;
  transition-duration: 0.2s; }
  @media screen and (min-width: 77.5em) {
    .lang-switcher-button {
      padding: 10px 18px 10px 13px; } }
  .lang-switcher-button::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #204433;
    border-right: 2px solid #204433;
    -webkit-transform: translateY(-50%) rotate(135deg);
        -ms-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg);
    transition: all ease-out 0.2s;
    content: ""; }
  .lang-switcher-button:first-letter {
    text-transform: uppercase; }
  .lang-switcher-button:hover + ul, .lang-switcher-button:active + ul, .lang-switcher-button:focus + ul {
    display: block; }

.lang-item {
  z-index: 10; }

.menu-responsive-container .lang-switcher {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 0;
  display: block; }
  @media screen and (min-width: 64em) {
    .menu-responsive-container .lang-switcher {
      display: none; } }
  .menu-responsive-container .lang-switcher > ul {
    bottom: 130%;
    margin: 0; }
    .menu-responsive-container .lang-switcher > ul::after {
      bottom: -8px;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg);
      content: ""; }

.search-box {
  position: absolute;
  top: -200%;
  left: 0;
  z-index: 10000;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: space-between;
          justify-content: space-between;
  width: 100%;
  height: 60px;
  padding: 6px 10px;
  background-color: #ffffff;
  transition: top ease-out 0.2s; }
  @media screen and (min-width: 64em) {
    .search-box {
      -webkit-justify-content: space-around;
              justify-content: space-around;
      height: 78px;
      padding: 0; } }
  @media screen and (min-width: 77.5em) {
    .search-box {
      padding: 6px 10px; } }
  .search-box #logo {
    margin: 0; }
    @media screen and (min-width: 64em) {
      .search-box #logo {
        margin-left: 16px; } }
  .search-box .search-form {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    width: 71%; }
    @media screen and (min-width: 40em) {
      .search-box .search-form {
        width: 81%; } }
    @media screen and (min-width: 64em) {
      .search-box .search-form {
        width: 71%; } }
    .search-box .search-form .button {
      margin: 0; }
    .search-box .search-form__label {
      width: 100%; }
    .search-box .search-form input[type="search"] {
      width: 100%;
      height: 45px;
      padding: 0.5rem 15px;
      font-size: 17px;
      border: none;
      border-left: 2px solid #204433;
      box-shadow: none; }
      @media screen and (min-width: 64em) {
        .search-box .search-form input[type="search"] {
          height: 55px;
          font-size: 30px; } }
    .search-box .search-form input[type="submit"] {
      background: url("../images/magnifier.svg") no-repeat center;
      background-size: 20px;
      -webkit-transform: scale(0.7);
          -ms-transform: scale(0.7);
              transform: scale(0.7); }
      @media screen and (min-width: 77.5em) {
        .search-box .search-form input[type="submit"] {
          -webkit-transform: scale(1);
              -ms-transform: scale(1);
                  transform: scale(1); } }
  .search-box .search-field {
    margin: 0; }
  .search-box__close {
    display: -webkit-flex;
    display: flex;
    width: 15px;
    height: 15px;
    cursor: pointer; }
  .search-box.js-is-visible {
    top: 0; }
  .search-box__wrapper {
    position: absolute;
    top: -70vh;
    left: 0;
    width: 100%;
    height: 65vh;
    background-color: #ffffff;
    overflow: scroll;
    transition: top ease-out 0.5s; }
    .search-box__wrapper.js-is-open {
      top: 60px; }
      @media screen and (min-width: 64em) {
        .search-box__wrapper.js-is-open {
          top: 78px; } }
  .search-box__result {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 15px;
    grid-auto-rows: minmax(100px, auto);
    row-gap: 55px;
    padding: 10px;
    justify-items: center; }
    @media screen and (min-width: 40em) {
      .search-box__result {
        grid-template-columns: repeat(2, 1fr); } }
    @media screen and (min-width: 64em) {
      .search-box__result {
        grid-template-columns: repeat(3, 1fr); } }
    @media screen and (min-width: 75em) {
      .search-box__result {
        grid-template-columns: repeat(4, 1fr); } }
    .search-box__result::after {
      content: "";
      -webkit-flex: auto;
              flex: auto; }
    .search-box__result__item {
      max-width: 286px; }
    .search-box__result .title {
      font-weight: 600;
      line-height: 1.2; }
    .search-box__result .image {
      position: relative;
      width: auto;
      height: 190px;
      margin-bottom: 15px;
      overflow: hidden; }
      .search-box__result .image img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
            -ms-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%); }
    .search-box__result .no-result {
      color: #204433;
      font-size: 18px;
      font-weight: 600; }

.sliderHomeActu {
  position: relative;
  background-color: #eff4c7;
  padding: 30px 0; }
  @media screen and (max-width: 64em) {
    .sliderHomeActu {
      padding: 50px 0 30px; } }
  .sliderHomeActu .row {
    max-height: 100%; }
  .sliderHomeActu .na-title {
    position: relative;
    left: 57.6%;
    top: 140px;
    z-index: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
    max-width: 220px;
    height: 0;
    margin: 0; }
    @media screen and (max-width: 64em) {
      .sliderHomeActu .na-title {
        position: static;
        -webkit-flex-direction: row;
                flex-direction: row;
        -webkit-justify-content: center;
                justify-content: center;
        height: auto;
        margin: auto auto 30px; } }
  .sliderHomeActu .main-carousel {
    height: 500px;
    z-index: 1; }
    @media screen and (max-width: 64em) {
      .sliderHomeActu .main-carousel {
        height: 29rem; } }
    @media screen and (max-width: 51.875em) {
      .sliderHomeActu .main-carousel {
        height: 28rem; } }
    @media screen and (max-width: 36.25em) {
      .sliderHomeActu .main-carousel {
        height: 25rem; } }
    .sliderHomeActu .main-carousel .carousel-cell {
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
              align-items: center; }
      .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc {
        margin: 0 auto auto;
        width: 75rem;
        height: 100%;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
                align-items: center;
        -webkit-justify-content: space-between;
                justify-content: space-between;
        gap: 5%;
        padding: 0 5.4rem; }
        @media screen and (max-width: 64em) {
          .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc {
            -webkit-flex-direction: column;
                    flex-direction: column;
            -webkit-justify-content: center;
                    justify-content: center; } }
        @media screen and (max-width: 51.875em) {
          .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc {
            -webkit-justify-content: flex-start;
                    justify-content: flex-start; } }
        .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__img {
          text-align: center;
          width: 50%; }
          @media screen and (max-width: 64em) {
            .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__img {
              width: 100%; } }
          .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__img img {
            width: auto;
            max-height: 100%; }
            @media screen and (min-width: 64em) {
              .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__img img {
                max-width: 70% !important; } }
            @media screen and (max-width: 64em) {
              .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__img img {
                max-height: 19rem; } }
            @media screen and (max-width: 36.25em) {
              .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__img img {
                max-height: 14rem; } }
        .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__text {
          width: 40%;
          margin-top: 140px; }
          @media screen and (max-width: 64em) {
            .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__text {
              display: -webkit-flex;
              display: flex;
              -webkit-flex-direction: column;
                      flex-direction: column;
              -webkit-justify-content: center;
                      justify-content: center;
              -webkit-align-items: center;
                      align-items: center;
              margin-top: 0;
              width: auto; } }
          .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__text .wysiwyg {
            margin-bottom: 50px; }
            @media screen and (max-width: 64em) {
              .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__text .wysiwyg {
                margin: 0; } }
            .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__text .wysiwyg p {
              font-size: 22px;
              font-size: 1.375em;
              font-family: "Bryndan", sans-serif;
              color: #000000;
              line-height: 1.429;
              text-align: left; }
              @media screen and (max-width: 64em) {
                .sliderHomeActu .main-carousel .carousel-cell .sliderHomeActu__bloc__text .wysiwyg p {
                  text-align: center; } }
    .sliderHomeActu .main-carousel button {
      background-color: transparent; }

.story-right {
  padding-right: 3.125rem; }
  @media screen and (max-width: 39.9375em) {
    .story-right {
      padding-right: 0; } }
  .story-right .image-slider {
    z-index: 0 !important; }
  .story-right .owl-next,
  .story-right .owl-prev {
    width: 3.125rem;
    height: 3.125rem;
    background-color: #204433;
    position: absolute;
    right: -3.125rem; }
    .story-right .owl-next::after,
    .story-right .owl-prev::after {
      width: 1rem;
      height: 1rem;
      border: 2px solid #ffffff;
      border-right-width: 0;
      border-top-width: 0; }
    .story-right .owl-next::before,
    .story-right .owl-prev::before {
      width: 1.375rem;
      height: 0.125rem;
      background-color: #ffffff;
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%)\9; }
    .story-right .owl-next::after, .story-right .owl-next::before,
    .story-right .owl-prev::after,
    .story-right .owl-prev::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%; }
  .story-right .owl-next {
    top: 0; }
    @media screen and (max-width: 39.9375em) {
      .story-right .owl-next {
        right: 0; } }
    .story-right .owl-next::after {
      -ms-transform: translate(-30%, -50%) rotate(-135deg);
      -webkit-transform: translate(-30%, -50%) rotate(-135deg);
              transform: translate(-30%, -50%) rotate(-135deg);
      -ms-transform: translate(-30%, -50%) rotate(-135deg)\9; }
  .story-right .owl-prev {
    opacity: 0.5;
    top: 3.1875rem; }
    @media screen and (max-width: 39.9375em) {
      .story-right .owl-prev {
        left: 0;
        top: 0; } }
    .story-right .owl-prev::after {
      -ms-transform: translate(-70%, -50%) rotate(45deg);
      -webkit-transform: translate(-70%, -50%) rotate(45deg);
              transform: translate(-70%, -50%) rotate(45deg);
      -ms-transform: translate(-70%, -50%) rotate(45deg)\9; }

.story-date {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media screen and (min-width: 64em) {
    .story-date {
      margin-bottom: 2rem; } }
  .story-date ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: space-between;
            justify-content: space-between; }
    .story-date ul li {
      -webkit-flex: 20%;
              flex: 20%;
      margin: 10px 0;
      text-align: center; }
      @media screen and (min-width: 64em) {
        .story-date ul li {
          -webkit-flex: 1;
                  flex: 1; } }
  .story-date button {
    width: 100%;
    cursor: pointer;
    outline: 0;
    text-align: center;
    font-family: "Bryndan", sans-serif;
    font-size: 17px; }
    .story-date button.is-active {
      position: relative;
      color: #ffffff;
      z-index: 0; }
      @media screen and (max-width: 74.9375em) {
        .story-date button.is-active {
          color: #6f9930; } }
      .story-date button.is-active::after {
        content: url("../images/spot.png");
        position: absolute;
        position: absolute;
        -webkit-transform-style: preserve-3d;
                transform-style: preserve-3d;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%)\9;
        z-index: -1; }
        @media screen and (max-width: 74.9375em) {
          .story-date button.is-active::after {
            content: ""; } }

.story-left-title {
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5em;
  position: relative;
  padding-bottom: 0.4375rem;
  z-index: 0; }
  .story-left-title::after {
    content: "";
    position: absolute;
    width: 4rem;
    height: 0.125rem;
    background-color: #6f9930;
    bottom: 0;
    left: 0; }

.story-section {
  padding-top: 1rem;
  padding-bottom: 5.625rem;
  background-color: #f4f8fb;
  background-image: url("../images/grass.jpg");
  background-size: contain;
  background-position: bottom center;
  background-repeat: repeat-x; }
  .story-section h1 {
    text-align: center;
    margin-bottom: 3rem; }
  @media screen and (max-width: 63.9375em) {
    .story-section {
      padding-bottom: 1.875rem; } }

@media screen and (min-width: 64em) {
  .story-slide {
    margin-top: 1.875rem; } }

.story-slide h1,
.story-slide h2,
.story-slide h3,
.story-slide h4,
.story-slide h5,
.story-slide h6 {
  font-size: 25px;
  font-size: 1.5625em;
  font-weight: 400;
  margin-bottom: 2.5rem;
  color: #204433; }

.story-slide p, .story-slide div {
  font-size: 15px;
  font-size: 0.9375em;
  line-height: 22px; }

.story-left {
  max-width: 34.375rem; }
  @media screen and (max-width: 63.9375em) {
    .story-left {
      margin-bottom: 1rem; } }
  .story-left .story-slider {
    z-index: 0 !important; }

.manifest-section {
  position: relative;
  background: url("../images/riz-mais-manifeste-1.png") no-repeat left center, url("../images/petits-pois-manifeste-1.png") no-repeat 40px 530px, url("../images/fraise_pomme.png") no-repeat right center;
  padding-bottom: 6.25rem; }
  @media screen and (max-width: 63.9375em) {
    .manifest-section {
      background: none;
      padding-bottom: 3.125rem; } }
  .manifest-section h2 {
    font-family: "Bryndan", sans-serif;
    font-size: 27px;
    font-size: 1.6875em;
    color: #204433;
    text-align: center;
    text-transform: uppercase;
    padding-top: 1.875rem; }
  .manifest-section .image-titre-manifest {
    display: block;
    margin: 0 auto;
    padding-top: 1.625rem;
    max-width: 50%; }
  .manifest-section img.icon-manifest {
    vertical-align: middle;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 40em) {
      .manifest-section img.icon-manifest {
        margin-right: 2.5rem;
        margin-bottom: 0; } }
  .manifest-section .wrap-list {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
    text-align: center;
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 40em) {
      .manifest-section .wrap-list {
        -webkit-flex-direction: row;
                flex-direction: row;
        -webkit-justify-content: flex-start;
                justify-content: flex-start;
        text-align: left;
        margin-top: 1.875rem; } }
  .manifest-section p {
    margin: 0;
    font-size: 16px;
    font-size: 1em;
    font-family: "Nunito", sans-serif;
    color: #000000;
    line-height: 1.25rem;
    padding-top: 0.3125rem; }
    .manifest-section p strong {
      font-family: "Bryndan", sans-serif;
      font-size: 20px;
      font-size: 1.25em;
      color: #f49700;
      font-weight: 500; }
  .manifest-section .uparr {
    display: none; }

.equipe-section {
  padding: 1.25rem 0;
  background-color: #fcf7f7;
  overflow: hidden; }
  .equipe-section .wrap-list-equipe {
    padding-top: 2.5rem; }
    .equipe-section .wrap-list-equipe .show-for-medium ul {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: wrap;
              flex-flow: wrap;
      -webkit-justify-content: flex-start;
              justify-content: flex-start; }
      .equipe-section .wrap-list-equipe .show-for-medium ul li {
        cursor: pointer;
        list-style-type: none;
        width: 15%;
        display: inline-block;
        margin: 5px 27px 0px 27px;
        padding: 0; }
        @media screen and (max-width: 74.9375em) {
          .equipe-section .wrap-list-equipe .show-for-medium ul li {
            margin: 40px 35px 0px 35px;
            width: 16%; } }
    .equipe-section .wrap-list-equipe .show-for-small ul {
      margin: 0; }
    .equipe-section .wrap-list-equipe .show-for-small ul li {
      cursor: pointer;
      list-style-type: none;
      display: block;
      padding: 0; }
  .equipe-section h1.na-title {
    text-align: center; }
  .equipe-section p {
    margin-top: 1.25rem;
    line-height: 1.25rem; }
    .equipe-section p .work {
      font-size: 13px;
      font-size: 0.8125em;
      font-family: "Nunito", sans-serif;
      font-weight: 900;
      color: #000000;
      text-transform: uppercase; }
    .equipe-section p .name {
      font-size: 18px;
      font-size: 1.125em;
      font-family: "Bryndan", sans-serif;
      font-weight: 400;
      color: #333333; }
  .equipe-section .wrap-img {
    position: relative;
    width: 166px;
    height: 203px; }
  .equipe-section .cite {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    font-size: 1.125em;
    font-family: "Bryndan", sans-serif;
    color: #ffffff;
    width: 166px;
    height: 203px;
    text-align: center;
    background-color: rgba(215, 72, 99, 0.9);
    line-height: 1.375rem;
    padding: 1.875rem 0.9375rem;
    display: none; }
    .equipe-section .cite::before {
      content: '';
      width: 15px;
      height: 15px;
      border-top: 5px solid #c2d649;
      border-left: 5px solid #c2d649;
      position: absolute;
      top: -13px;
      left: -13px; }
      @media screen and (max-width: 39.9375em) {
        .equipe-section .cite::before {
          display: none; } }
    .equipe-section .cite::after {
      content: '';
      width: 30px;
      height: 30px;
      border-bottom: 10px solid #c2d649;
      border-right: 10px solid #c2d649;
      position: absolute;
      bottom: -20px;
      right: -20px; }
      @media screen and (max-width: 39.9375em) {
        .equipe-section .cite::after {
          display: none; } }
  .equipe-section .display {
    display: block; }

.owl-stage {
  padding-left: 0 !important; }

.clear {
  clear: both; }

.found-us-section {
  padding-top: 1rem;
  background-color: #f4f8fb; }
  .found-us-section h1, .found-us-section h2 {
    margin-bottom: 3rem;
    text-align: center; }
  .found-us-section h3 {
    font-family: "Nunito", sans-serif;
    font-size: 1.25em; }
  .found-us-section p {
    font-family: "Nunito", sans-serif;
    font-size: 0.875em; }
  .found-us-section .na-content h4 {
    margin-bottom: 0.9rem;
    font-size: 18px;
    text-align: center; }
    .found-us-section .na-content h4 a {
      padding: 10px 25px;
      font-weight: 600;
      font-size: 15px;
      text-transform: uppercase;
      background-color: #204433;
      color: #ffffff; }
      @media screen and (max-width: 74.9375em) {
        .found-us-section .na-content h4 a {
          display: block;
          max-width: 370px;
          margin: 0 auto; } }

.na-title {
  margin-top: 1.5rem;
  font-size: 1em;
  font-weight: 200; }
  .na-title span:first-child {
    display: inline !important;
    line-height: 2;
    font-size: 29px;
    font-size: 1.8125em;
    -ms-transform: rotate(-3deg);
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
    -ms-transform: rotate(-3deg)\9; }
    @media screen and (max-width: 74.9375em) {
      .na-title span:first-child {
        font-size: 23px;
        font-size: 1.4375em; } }

.countries {
  margin-top: 25px; }
  .countries__item {
    max-width: 360px;
    margin: 0 auto 37px auto; }
    .countries__item__flag {
      display: block;
      max-width: 70px;
      margin: 0 auto; }
    .countries__item__wrap-labels {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-auto-rows: minmax(0px, 25px);
      grid-gap: 15px;
      row-gap: 5px;
      margin: -5px 0 0 0;
      padding: 10px;
      justify-items: center;
      padding: 10px 10px 24px 10px;
      list-style-type: none;
      background-color: #ffffff; }
      .countries__item__wrap-labels.grid-1col {
        grid-template-columns: repeat(1, 1fr); }
    .countries__item__label {
      font-family: "Bryndan", sans-serif;
      font-size: 16px;
      text-align: center;
      text-transform: uppercase;
      white-space: nowrap; }

.clear {
  clear: both; }

.header-ingredients {
  position: relative;
  height: 34.375rem;
  z-index: 0;
  overflow: hidden; }
  .header-ingredients .background-ingredients-left {
    position: absolute;
    z-index: 1;
    left: 0;
    content: '';
    width: auto;
    height: 100%;
    background-color: #e5ebf0;
    overflow: hidden; }
    .header-ingredients .background-ingredients-left img {
      height: auto;
      width: 100%; }
    @media screen and (max-width: 63.9375em) {
      .header-ingredients .background-ingredients-left {
        width: 250%; } }
  .header-ingredients .background-ingredients-right {
    position: absolute;
    z-index: 1;
    right: 0;
    content: '';
    width: 40%;
    height: 100%;
    background-color: #f5f8fa; }
    @media screen and (max-width: 63.9375em) {
      .header-ingredients .background-ingredients-right {
        z-index: 0; } }
  .header-ingredients .wrap-ingredients-bloc-left {
    position: relative;
    z-index: 2; }
    .header-ingredients .wrap-ingredients-bloc-left img {
      display: block;
      margin: 0 auto;
      position: relative;
      left: -12.5rem;
      height: 42.125rem;
      width: auto; }
      @media screen and (max-width: 63.9375em) {
        .header-ingredients .wrap-ingredients-bloc-left img {
          max-width: 300%;
          width: 300% !important;
          height: auto; } }
  .header-ingredients .container-wrap-ingredients-bloc-right {
    padding: 43px; }
  .header-ingredients .wrap-ingredients-bloc-right {
    position: absolute;
    background-color: #ffffff;
    z-index: 2;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    padding: 1.25rem 2.1875rem;
    margin-right: 6.25rem; }
    @media screen and (max-width: 63.9375em) {
      .header-ingredients .wrap-ingredients-bloc-right {
        margin-right: 1.25rem; } }
    @media screen and (min-width: 64em) {
      .header-ingredients .wrap-ingredients-bloc-right {
        padding: 0.625rem 1.25rem; } }
    .header-ingredients .wrap-ingredients-bloc-right ul {
      margin: 0;
      padding: 0; }
    .header-ingredients .wrap-ingredients-bloc-right ul li {
      list-style-type: none; }
    .header-ingredients .wrap-ingredients-bloc-right::before {
      position: absolute;
      content: ' ';
      width: 20px;
      height: 20px; }
    .header-ingredients .wrap-ingredients-bloc-right .tampon {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
              flex-direction: row;
      -webkit-justify-content: space-around;
              justify-content: space-around;
      -webkit-align-items: center;
              align-items: center; }
    .header-ingredients .wrap-ingredients-bloc-right--title {
      font-weight: 700;
      margin-top: 34px;
      font-size: 16px;
      font-size: 1em; }
    .header-ingredients .wrap-ingredients-bloc-right--txt {
      font-size: 14px;
      font-size: 0.875em;
      margin-top: 38px;
      margin-bottom: 24px; }
      .header-ingredients .wrap-ingredients-bloc-right--txt h3 {
        font-size: 1rem;
        font-family: "Nunito", sans-serif;
        font-weight: bold; }
      .header-ingredients .wrap-ingredients-bloc-right--txt strong {
        font-size: 1rem;
        font-family: "Nunito", sans-serif;
        font-weight: bold; }
    .header-ingredients .wrap-ingredients-bloc-right .vitamin {
      font-weight: bold;
      padding-bottom: 1.875rem; }

.vitamine_type li {
  text-transform: uppercase;
  color: #6f9930; }
  .vitamine_type li img {
    height: 18px;
    width: auto; }

.ingredients_submenu {
  text-align: center; }
  .ingredients_submenu--name {
    display: inline-block;
    font-family: "Bryndan", sans-serif;
    margin: 2.1875rem;
    padding: 0 10px; }
    .ingredients_submenu--name:hover {
      cursor: pointer;
      color: #6f9930; }
    @media screen and (max-width: 63.9375em) {
      .ingredients_submenu--name {
        margin: 2vh 2vw; } }
    @media screen and (max-width: 818px) {
      .ingredients_submenu--name {
        margin: 0.5vh 12vw; } }
    @media screen and (max-width: 39.9375em) {
      .ingredients_submenu--name {
        margin: 0.5vh 5vw; } }

.ingredients-active {
  background-image: url("../images/spot-large.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  color: white; }
  .ingredients-active:hover {
    color: white; }

.ingredients-hide {
  display: none; }

.fruits-display-outer {
  margin-bottom: 1.75rem; }

.fruits-display {
  text-align: center;
  position: relative;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-right: 1px solid #ffffff; }
  .fruits-display h3 {
    font-family: "Nature", sans-serif; }
  .fruits-display h6 {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1; }
  .fruits-display .fruits-top {
    cursor: pointer; }
    .fruits-display .fruits-top img {
      max-height: 200px;
      width: auto; }
  .fruits-display .fruits-bottom {
    position: absolute;
    left: -1px;
    top: 100%;
    width: calc(100% + 2px);
    background: white;
    padding: 0px 10px;
    z-index: 2;
    border-bottom: 1px solid #6f9930;
    border-left: 1px solid #6f9930;
    border-right: 1px solid #6f9930;
    display: none; }
  .fruits-display.fruits-active {
    border-color: #6f9930; }
    .fruits-display.fruits-active .fruits-bottom {
      display: block; }
  .fruits-display.fruits-opacity {
    opacity: 0.5; }

.brush-up {
  position: relative;
  top: -31px; }
  .brush-up :first-child {
    margin-right: 44%; }
  .brush-up img {
    max-width: 27%;
    height: auto; }

.brush-down {
  position: relative;
  top: -31px; }
  .brush-down :first-child {
    margin-right: 60%; }
  .brush-down img {
    max-width: 19%;
    height: auto; }

.ingredients-properties ul {
  list-style: none;
  margin: -1rem 0 2rem 0; }

.product_slide img {
  display: inline-block; }

.product_slide--firstImage {
  padding: 10px 70px;
  width: auto;
  overflow: hidden; }

.ingredients-slider-global {
  position: relative; }

.arrow-left {
  position: absolute;
  top: 50%;
  left: 0;
  height: 22px;
  width: 14px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("../images/arrow-left.png"); }

.arrow-right {
  position: absolute;
  top: 50%;
  right: 0;
  height: 22px;
  width: 14px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("../images/arrow-right.png"); }

.na-title {
  margin-bottom: 30px; }

.list-recettes__bloc .columns:last-child {
  float: left !important; }

.list-recettes__bloc__item {
  padding-bottom: 1.25rem; }
  .list-recettes__bloc__item a p {
    padding-top: 0.625rem;
    font-size: 13px;
    font-size: 0.8125em;
    font-family: "Nunito", sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0; }
  .list-recettes__bloc__item-img {
    height: 330px;
    overflow: hidden;
    position: relative; }
    .list-recettes__bloc__item-img img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
              transform: translateX(-50%) translateY(-50%);
      min-height: 350px;
      min-width: 851px; }

.list-recettes .nav_category ul li:last-child a {
  color: #000000; }
  .list-recettes .nav_category ul li:last-child a.is-active, .list-recettes .nav_category ul li:last-child a:active, .list-recettes .nav_category ul li:last-child a:focus, .list-recettes .nav_category ul li:last-child a:hover {
    color: #ffffff; }

.list-recettes .wp-pagenavi {
  padding: 3.125rem 0;
  text-align: center; }

.recipeHeader {
  width: 100%;
  height: 530px;
  position: relative; }
  .recipeHeader--container {
    height: 530px; }
    .recipeHeader--container--block {
      margin-top: 55px;
      padding: 50px 45px;
      padding-right: 0;
      height: 420px;
      background: linear-gradient(to right, white 82%, rgba(255, 255, 255, 0.8) 92%, rgba(255, 255, 255, 0.6) 99%, rgba(255, 255, 255, 0.6) 100%); }
      @media screen and (max-width: 63.9375em) {
        .recipeHeader--container--block {
          height: auto;
          margin-top: 0; } }
      @media screen and (max-width: 74.9375em) {
        .recipeHeader--container--block {
          padding: 30px; } }
      @media screen and (max-width: 39.9375em) {
        .recipeHeader--container--block {
          height: auto; } }
      .recipeHeader--container--block--title {
        font-size: 34px;
        font-size: 2.125em;
        text-transform: uppercase;
        width: 80%; }
        @media screen and (max-width: 39.9375em) {
          .recipeHeader--container--block--title {
            width: 100%;
            font-size: 23px;
            font-size: 1.4375em; } }
      .recipeHeader--container--block--info {
        position: relative;
        width: 100%;
        padding: 20px 0;
        margin: auto;
        margin-top: 5%;
        border-top: 1px solid #dbdbdb;
        border-bottom: 1px solid #dbdbdb; }
        .recipeHeader--container--block--info--border {
          position: absolute;
          top: 10%;
          left: calc(50% - 0.5px);
          width: 1px;
          height: 50px;
          background-color: #dbdbdb; }
          @media screen and (max-width: 39.9375em) {
            .recipeHeader--container--block--info--border {
              display: none; } }
        .recipeHeader--container--block--info--ingredient--title {
          font-size: 20px;
          font-size: 1.25em;
          display: inline-block;
          margin-right: 15px; }
        .recipeHeader--container--block--info--ingredient--iconeContent {
          display: inline-block; }
          .recipeHeader--container--block--info--ingredient--iconeContent--icone {
            margin: 0 3.5px; }
        .recipeHeader--container--block--info--country--title {
          font-size: 20px;
          font-size: 1.25em;
          display: inline-block;
          margin-right: 15px; }
        .recipeHeader--container--block--info--country--img {
          width: 35px;
          height: auto;
          display: inline-block; }
          .recipeHeader--container--block--info--country--img img {
            width: 100%;
            height: auto;
            padding-bottom: 0.3125rem; }
      .recipeHeader--container--block--extend {
        position: relative;
        width: 90%;
        margin: auto;
        margin-top: 5%; }
        @media screen and (max-width: 39.9375em) {
          .recipeHeader--container--block--extend {
            width: 85%; } }
        .recipeHeader--container--block--extend--border {
          position: absolute;
          top: 10%;
          left: calc(50% - 0.5px);
          width: 1px;
          height: 50px;
          background-color: #dbdbdb; }
          @media screen and (max-width: 39.9375em) {
            .recipeHeader--container--block--extend--border {
              display: none; } }
        .recipeHeader--container--block--extend--share {
          float: left;
          padding: 20px; }
          @media screen and (max-width: 39.9375em) {
            .recipeHeader--container--block--extend--share {
              margin-bottom: 10%; } }
          .recipeHeader--container--block--extend--share--link {
            font-size: 20px;
            font-size: 1.25em;
            position: relative;
            background-image: url("../images/share.png");
            background-position: center center;
            background-repeat: no-repeat;
            padding-top: 15px;
            padding-left: 89%; }
        .recipeHeader--container--block--extend--count {
          float: right;
          padding: 20px; }
          @media screen and (max-width: 39.9375em) {
            .recipeHeader--container--block--extend--count {
              width: 100%; } }
          .recipeHeader--container--block--extend--count--number {
            font-size: 24px;
            font-size: 1.5em;
            color: #fe0a66; }
          .recipeHeader--container--block--extend--count--txt {
            font-size: 20px;
            font-size: 1.25em; }
    .recipeHeader--container .recette_img {
      height: 540px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
      @media screen and (max-width: 63.9375em) {
        .recipeHeader--container .recette_img {
          height: 400px; } }

.recipeInfoBar {
  width: 100%;
  border-bottom: 1px solid #d6dddd;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-align-items: center;
          align-items: center;
  padding-bottom: 6px;
  padding-top: 10px; }
  .recipeInfoBar--info {
    min-width: 12.5rem;
    margin: 0;
    margin-right: -4px; }
    @media screen and (max-width: 39.9375em) {
      .recipeInfoBar--info {
        width: 100%;
        padding-left: 10%; } }
    .recipeInfoBar--info--content {
      font-size: 20px;
      font-size: 1.25em;
      width: 100%;
      background-position: left center;
      background-repeat: no-repeat;
      margin: 0;
      padding: 20px;
      padding-left: 30%; }

.recipePreparation {
  height: auto;
  margin-top: 28px;
  margin-bottom: 50px; }
  @media screen and (max-width: 39.9375em) {
    .recipePreparation {
      margin-top: 50px;
      margin-bottom: 50px; } }
  .recipePreparation--prepa {
    height: auto;
    padding-right: 15%;
    padding-left: 0; }
    @media screen and (min-width: 1024px) and (max-width: 1400px) {
      .recipePreparation--prepa {
        padding: 0 15% 0 5%; } }
    @media screen and (max-width: 63.9375em) {
      .recipePreparation--prepa {
        padding: 5% 10%; } }
    .recipePreparation--prepa--title {
      font-size: 24px;
      font-size: 1.5em;
      margin-bottom: 40px;
      font-weight: 700;
      text-transform: uppercase; }
    .recipePreparation--prepa--step--title {
      font-size: 20px;
      font-size: 1.25em; }
    .recipePreparation--prepa--step--txt {
      font-size: 14px;
      font-size: 0.875em; }
  .recipePreparation--ingre {
    height: auto; }
    @media screen and (min-width: 1024px) and (max-width: 1400px) {
      .recipePreparation--ingre {
        padding: 0 5% 0 0; } }
    @media screen and (max-width: 63.9375em) {
      .recipePreparation--ingre {
        padding: 5% 10%; } }
    .recipePreparation--ingre--title {
      font-size: 24px;
      font-size: 1.5em;
      margin-bottom: 40px;
      font-weight: 700;
      text-transform: uppercase; }
    .recipePreparation--ingre--step {
      font-size: 18px;
      font-size: 1.125em;
      padding-bottom: 15px;
      border-bottom: 1px solid #dbdbdb; }

.recipeRelated--title {
  font-size: 20px;
  font-size: 1.25em;
  margin-bottom: 20px;
  text-transform: uppercase; }

.recipeRelated--recipe {
  margin-bottom: 50px;
  text-align: center; }
  .recipeRelated--recipe--img {
    margin-bottom: 30px; }
  .recipeRelated--recipe--title {
    font-size: 18px;
    font-size: 1.125em; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .recipeRelated--recipe--title {
        width: 60%;
        margin-left: 20%; } }

.recipeRelated--line {
  border: 1px solid #d6dddd;
  width: 100%; }

.productRelated {
  margin-bottom: 50px; }

.contentNattitude {
  margin-top: 20px; }
  .contentNattitude h2 {
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1rem; }

.coloriage_info:nth-child(odd) {
  padding-right: 30px; }
  @media screen and (max-width: 63.9375em) {
    .coloriage_info:nth-child(odd) {
      padding-right: 10px; } }

.coloriage_info:nth-child(even) {
  padding-left: 30px; }
  @media screen and (max-width: 63.9375em) {
    .coloriage_info:nth-child(even) {
      padding-left: 10px; } }

.coloriage_info > h2 {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
  padding-top: 10px;
  margin-bottom: 25px; }

.coloriage_info .image_coloriage {
  position: relative;
  width: 100%; }
  .coloriage_info .image_coloriage img {
    width: 100%; }
  .coloriage_info .image_coloriage div {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    display: none;
    background: rgba(0, 0, 0, 0.25);
    transition: all ease .2s; }
    .coloriage_info .image_coloriage div h2 {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      font-size: 24px;
      text-transform: uppercase;
      color: #ffffff;
      font-weight: 700; }
  .coloriage_info .image_coloriage:hover div {
    opacity: 1;
    display: block; }

.nattitude-final-container {
  cursor: pointer;
  margin: 50px 0; }
  .nattitude-final-container__final {
    max-width: 350px;
    margin: 0 auto;
    padding: 15px;
    border: 1px solid #204433;
    text-align: center;
    transition: all ease .2s; }
    .nattitude-final-container__final .clic {
      text-transform: uppercase;
      font-weight: 700; }
    .nattitude-final-container__final:hover {
      background-color: #204433; }
      .nattitude-final-container__final:hover a {
        color: #ffffff; }

.flex_coloriage {
  margin-top: 50px; }

.popup-info {
  position: absolute;
  top: -28px;
  left: 0;
  right: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
          align-items: center;
  height: 30px;
  background-color: #6f9930;
  box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.15);
  z-index: 99; }
  @media screen and (min-width: 64em) {
    .popup-info {
      -webkit-flex-direction: row;
              flex-direction: row; } }
  .popup-info p {
    margin: 0;
    font-size: 8px;
    font-family: "Nunito", sans-serif;
    font-weight: 700;
    line-height: 1;
    height: 28px;
    color: #ffffff;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
            justify-content: center;
    padding: 0 2px;
    text-align: center; }
    @media screen and (min-width: 40em) {
      .popup-info p {
        font-size: 14px;
        line-height: 1.963; } }

.newsPopup.js-hidden {
  display: none; }

.newsPopup__fullContainer {
  background-color: #666666e3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; }
  .newsPopup__fullContainer__box {
    position: relative;
    width: 40%;
    height: 450px;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    z-index: 2;
    background-color: #6f9930; }
    @media screen and (min-width: 40em) {
      .newsPopup__fullContainer__box {
        position: fixed;
        width: 685px;
        height: 500px;
        margin: auto;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0; } }
    @media screen and (max-width: 39.9375em) {
      .newsPopup__fullContainer__box {
        width: 80%;
        height: 570px; } }
    .newsPopup__fullContainer__box__background {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-repeat: no-repeat;
      position: absolute;
      z-index: -1; }
    .newsPopup__fullContainer__box__closeButton {
      position: absolute;
      right: 5px;
      top: -7%;
      width: 3.3%;
      height: 25%;
      background-color: #ffffff;
      -webkit-mask-image: url("../images/close.svg");
      mask-image: url("../images/close.svg");
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      cursor: pointer; }
      @media screen and (max-width: 74.9375em) {
        .newsPopup__fullContainer__box__closeButton {
          top: -6%; } }
    .newsPopup__fullContainer__box__content {
      margin: auto;
      padding: 0 8%;
      z-index: 12;
      width: 85%;
      height: 85%;
      background: white;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
              flex-direction: column;
      -webkit-justify-content: flex-start;
              justify-content: flex-start;
      -webkit-align-items: center;
              align-items: center; }
      @media screen and (min-width: 40em) {
        .newsPopup__fullContainer__box__content {
          margin: 70px;
          padding: 0 45px;
          width: auto;
          height: auto; } }
      .newsPopup__fullContainer__box__content__logo {
        width: 110px;
        height: 114px;
        background-position-y: 17px;
        background-size: contain;
        background-repeat: no-repeat; }
        @media screen and (max-width: 63.9375em) {
          .newsPopup__fullContainer__box__content__logo {
            width: 29%; } }
        @media screen and (max-width: 39.9375em) {
          .newsPopup__fullContainer__box__content__logo {
            width: 50%; } }
      .newsPopup__fullContainer__box__content p {
        font-size: 15px;
        font-family: "Nunito", sans-serif;
        color: #6f9930;
        line-height: 1.25rem;
        text-align: center;
        font-weight: 700; }
      .newsPopup__fullContainer__box__content__form {
        width: 100%; }
        @media screen and (max-width: 39.9375em) {
          .newsPopup__fullContainer__box__content__form .gform_wrapper {
            padding: 0 16px; } }
        .newsPopup__fullContainer__box__content__form .gform_wrapper .gform_heading {
          display: none; }
        .newsPopup__fullContainer__box__content__form .gform_wrapper form {
          display: -webkit-flex;
          display: flex;
          -webkit-flex-direction: column;
                  flex-direction: column;
          -webkit-align-items: center;
                  align-items: center; }
          .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body {
            width: 100%; }
            .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_email .ginput_container input {
              height: 50%;
              padding: 4px 6px;
              border: none;
              box-shadow: none;
              border-bottom: 1px solid #204433; }
            .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_checkbox legend {
              display: none; }
            .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_checkbox .ginput_container .gchoice {
              display: -webkit-flex;
              display: flex;
              -webkit-align-items: flex-start;
                      align-items: flex-start; }
              .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_checkbox .ginput_container .gchoice input {
                margin: 0; }
              .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_checkbox .ginput_container .gchoice label {
                padding: 0;
                font-size: 10px;
                font-family: "Nunito", sans-serif;
                color: #000000;
                line-height: 14px;
                text-align: left;
                cursor: default; }
                .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_checkbox .ginput_container .gchoice label a {
                  text-decoration: underline; }
            .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gform_fields .fp_gform_checkbox .gfield_validation_message {
              text-align: center; }
            .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_body .gfield_validation_message {
              margin: 0 !important;
              padding: 0 !important;
              border: none !important;
              background: none !important;
              font-size: 0.7rem !important; }
          .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_footer {
            display: -webkit-flex;
            display: flex;
            -webkit-justify-content: center;
                    justify-content: center; }
            .newsPopup__fullContainer__box__content__form .gform_wrapper form .gform_footer input {
              border: #c2d649 !important;
              color: #204433 !important;
              background-color: #c2d649 !important; }
        .newsPopup__fullContainer__box__content__form .gform_wrapper .gform_validation_errors {
          display: none; }
        .newsPopup__fullContainer__box__content__form .accept_message,
        .newsPopup__fullContainer__box__content__form .button_text {
          display: none; }

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

.clear {
  clear: both; }

.contact--header {
  margin-bottom: 33px;
  width: 100%; }
  .contact--header--img {
    width: 100%; }

.contact--intro {
  margin-top: 70px; }
  .contact--intro--title {
    font-size: 20;
    font-size: 1.25em;
    font-weight: 700; }
  .contact--intro--txt {
    font-size: 14;
    font-size: 0.875em; }
  .contact--intro--intro p {
    font-size: 17;
    font-size: 1.0625em; }
    .contact--intro--intro p a {
      color: #6f9930;
      text-decoration: underline;
      transition: all ease 0.2s; }
      .contact--intro--intro p a:hover {
        text-decoration: none; }

.contact--info {
  margin-top: 40px;
  margin-bottom: 105px; }
  @media screen and (max-width: 39.9375em) {
    .contact--info--tel, .contact--info--adress, .contact--info--mail {
      text-align: center;
      margin-bottom: 30px; } }
  .contact--info--tel--title, .contact--info--adress--title, .contact--info--mail--title {
    margin-top: 15px;
    font-size: 20;
    font-size: 1.25em;
    font-family: "Bryndan", sans-serif; }
  .contact--info--tel--number {
    font-size: 14;
    font-size: 0.875em;
    margin: 0; }
  .contact--info--adress--txt {
    font-size: 14;
    font-size: 0.875em; }
  .contact--info--mail--txt {
    font-size: 14;
    font-size: 0.875em;
    margin: 0; }

.contact--form {
  position: relative; }
  .contact--form .coche-rgpd {
    width: 100% !important; }
    .contact--form .coche-rgpd .ginput_container label {
      padding-left: 20px; }
  .contact--form .gform_wrapper .top_label .gfield_label {
    display: none; }
  .contact--form .fp_gform_medium {
    width: 47%; }
  .contact--form .gform_wrapper .top_label input.medium, .contact--form .gform_wrapper .top_label select.medium {
    width: 100%;
    border: 0;
    box-shadow: none;
    color: #000000;
    border-bottom: 1px solid; }
  .contact--form .gform_wrapper .top_label input.medium::-webkit-input-placeholder, .contact--form .gform_wrapper .top_label select.medium::-webkit-input-placeholder, .contact--form .gform_wrapper textarea::-webkit-input-placeholder {
    color: #000000; }
  .contact--form .gform_wrapper .top_label input.medium::placeholder, .contact--form .gform_wrapper .top_label select.medium::placeholder, .contact--form .gform_wrapper textarea::placeholder {
    color: #000000; }
  .contact--form .gform_wrapper .top_label input.medium:focus, .contact--form .gform_wrapper .top_label select.medium:focus {
    color: #6f9930; }
  .contact--form #input_1_4 {
    width: 100%; }
  .contact--form #input_1_9 {
    background-image: url("../images/triangle.png");
    background-position: right center;
    background-repeat: no-repeat; }
  .contact--form .gform_wrapper ul li.gfield {
    clear: none; }
    .contact--form .gform_wrapper ul li.gfield .gfield_error {
      background-color: #f01a45 !important; }
    @media screen and (max-width: 39.9375em) {
      .contact--form .gform_wrapper ul li.gfield {
        width: 100%;
        clear: both; } }
  .contact--form .form-left {
    float: left; }
  .contact--form .form-right {
    float: right; }
  .contact--form .form-all {
    clear: both;
    width: 100%; }
  .contact--form .form-message {
    clear: both;
    width: 100%; }
    .contact--form .form-message textarea {
      box-shadow: none; }
  .contact--form #gform_submit_button_1 {
    font-family: inherit;
    font-weight: 700;
    padding: 17px 28px;
    font-size: 14;
    font-size: 0.875em;
    background-color: #6f9930;
    float: right;
    text-transform: uppercase; }
    .contact--form #gform_submit_button_1:hover {
      background-color: #204433; }
  .contact--form--info {
    color: #f21c77;
    margin-left: 9px;
    font-size: 14;
    font-size: 0.875em;
    position: absolute;
    left: 0;
    bottom: 50px; }
    @media screen and (max-width: 39.9375em) {
      .contact--form--info {
        bottom: 80px; } }

.contact--press {
  margin-top: 140px;
  margin-bottom: 60px; }
  .contact--press--container {
    border-top: 1px solid #d6dddd;
    padding-top: 47px; }
    .contact--press--container--intro {
      margin-bottom: 30px; }
      .contact--press--container--intro--title {
        font-size: 20;
        font-size: 1.25em;
        font-weight: 700; }
      .contact--press--container--intro--txt {
        font-size: 14;
        font-size: 0.875em; }
    .contact--press--container--file--groupe {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
              flex-direction: row;
      -webkit-justify-content: flex-start;
              justify-content: flex-start;
      -webkit-align-items: center;
              align-items: center;
      font-family: "Bryndan", sans-serif;
      margin-bottom: 12px; }
      @media screen and (max-width: 39.9375em) {
        .contact--press--container--file--groupe {
          margin-bottom: 30px; } }
      .contact--press--container--file--groupe--txt {
        margin-left: 10px; }
        .contact--press--container--file--groupe--txt--name {
          font-size: 17;
          font-size: 1.0625em;
          font-family: "Bryndan", sans-serif;
          margin-top: 0;
          color: #6f9930; }
        .contact--press--container--file--groupe--txt--date {
          font-size: 17;
          font-size: 1.0625em;
          font-family: "Bryndan", sans-serif;
          margin-bottom: -10px; }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .contact--content {
    padding: 0 5%; } }

@media screen and (max-width: 39.9375em) {
  .contact--content {
    padding: 0 5%; } }

.contact-border-upFeed {
  width: 100%;
  border-top: 1px solid #d6dddd; }

.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
  background: none !important;
  border-top: none !important;
  border-bottom: none !important; }

@media only screen and (min-width: 641px) {
  .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    width: 47%; } }

.footer {
  background: #fafBec; }
  .footer__content {
    padding-top: 34px; }
    .footer__content .row {
      max-width: 110rem;
      padding-bottom: 10px; }
    .footer__content__top__logo img {
      max-width: 130px;
      height: auto; }
      @media screen and (max-width: 48em) {
        .footer__content__top__logo img {
          display: block;
          margin: 0 auto; } }
    .footer__content__top__menu ul {
      width: 180px;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
              flex-direction: column; }
      @media screen and (max-width: 48em) {
        .footer__content__top__menu ul {
          width: 100%;
          -webkit-flex-direction: column;
                  flex-direction: column;
          text-align: center; } }
      .footer__content__top__menu ul li {
        position: relative;
        display: inline-block;
        font-family: "Nunito", sans-serif;
        font-size: 15px;
        font-weight: bold; }
        .footer__content__top__menu ul li a {
          padding: 0.7rem 1rem 0.7rem 0; }
        .footer__content__top__menu ul li::after {
          position: absolute;
          top: 11px;
          right: 0;
          width: 21px;
          height: 16px;
          background-image: url("../images/chevron-green.svg");
          background-repeat: no-repeat;
          background-size: contain;
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg);
          content: ""; }
    @media screen and (max-width: 74.9375em) {
      .footer__content__top__menu {
        margin-bottom: 40px; } }
    .footer__content__top__share {
      -webkit-flex-grow: 1;
              flex-grow: 1;
      font-family: "Nunito", sans-serif;
      font-size: 18px;
      font-weight: 700;
      color: #204433; }
      @media screen and (min-width: 48em) {
        .footer__content__top__share {
          padding-right: 40px; } }
      @media screen and (max-width: 48em) {
        .footer__content__top__share {
          text-align: center; } }
      .footer__content__top__share ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
                justify-content: flex-start;
        margin: 20px 0; }
        @media screen and (max-width: 48em) {
          .footer__content__top__share ul {
            -webkit-justify-content: space-evenly;
                    justify-content: space-evenly; } }
        .footer__content__top__share ul li {
          width: 34px;
          height: 34px;
          margin-right: 35px;
          list-style: none;
          background-size: contain;
          background-repeat: no-repeat; }
          .footer__content__top__share ul li.youtube {
            background-image: url("../images/youtube_black.svg"); }
          .footer__content__top__share ul li.instagram {
            background-image: url("../images/instagram_black.svg"); }
          .footer__content__top__share ul li.facebook {
            background-image: url("../images/facebook_black.svg"); }
    .footer__content__top__newsletter {
      font-family: "Nunito", sans-serif;
      font-size: 18px;
      font-weight: 700;
      color: #204433; }
      @media screen and (max-width: 48em) {
        .footer__content__top__newsletter {
          text-align: center; } }
      .footer__content__top__newsletter .gform_wrapper {
        margin: 30px 0; }
        .footer__content__top__newsletter .gform_wrapper form {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
                  align-items: center;
          padding: 0; }
          @media screen and (max-width: 48em) {
            .footer__content__top__newsletter .gform_wrapper form {
              -webkit-justify-content: center;
                      justify-content: center; } }
          .footer__content__top__newsletter .gform_wrapper form .gform_body {
            margin: 0;
            margin-right: 5px;
            width: 290px; }
            .footer__content__top__newsletter .gform_wrapper form .gform_body .gform_fields .gfield {
              padding: 0; }
              .footer__content__top__newsletter .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container {
                padding: 0;
                border: 1px solid #c2d649;
                height: 38px; }
                .footer__content__top__newsletter .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input {
                  height: 100%; }
          .footer__content__top__newsletter .gform_wrapper form .gform_footer {
            margin: 0;
            padding: 0; }
            .footer__content__top__newsletter .gform_wrapper form .gform_footer .button {
              margin: 0;
              height: 40px;
              background-color: #204433;
              font-family: "Nunito", sans-serif;
              font-weight: bold; }
    .footer__content__bottom {
      max-width: 700px;
      margin: auto;
      padding-bottom: 5px;
      border-top: 1px solid #6f9930; }
      .footer__content__bottom__menu ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
                justify-content: space-between;
        max-width: 580px;
        margin: 20px auto;
        font-family: "Nunito", sans-serif;
        font-size: 14px; }
        @media screen and (max-width: 48em) {
          .footer__content__bottom__menu ul {
            -webkit-flex-direction: column;
                    flex-direction: column;
            text-align: center; } }

.in-feed {
  text-align: center; }
  .in-feed h1,
  .in-feed h2,
  .in-feed h3,
  .in-feed h4,
  .in-feed h5,
  .in-feed h6 {
    margin-top: 2.1875rem;
    margin-bottom: 3rem;
    padding: 1.25rem 4rem;
    font-family: "Bryndan", sans-serif;
    display: inline-block;
    position: relative;
    font-size: 35px;
    font-size: 2.1875em;
    line-height: 2.5rem; }
    .in-feed h1::after, .in-feed h1:before,
    .in-feed h2::after,
    .in-feed h2:before,
    .in-feed h3::after,
    .in-feed h3:before,
    .in-feed h4::after,
    .in-feed h4:before,
    .in-feed h5::after,
    .in-feed h5:before,
    .in-feed h6::after,
    .in-feed h6:before {
      content: url("../images/citation.png");
      position: absolute; }
    .in-feed h1::after,
    .in-feed h2::after,
    .in-feed h3::after,
    .in-feed h4::after,
    .in-feed h5::after,
    .in-feed h6::after {
      bottom: 0;
      right: 10px;
      -ms-transform: rotate(180deg);
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      -ms-transform: rotate(180deg)\9; }
    .in-feed h1:before,
    .in-feed h2:before,
    .in-feed h3:before,
    .in-feed h4:before,
    .in-feed h5:before,
    .in-feed h6:before {
      top: 0;
      left: 0.625rem; }

#value {
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center; }

.value-marge {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem; }
  @media screen and (max-width: 63.9375em) {
    .value-marge {
      padding-top: 1.875rem;
      padding-bottom: 1.875rem; } }

.value-marge-video {
  padding-top: 1.25rem;
  padding-bottom: 2.25rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem; }

.value-container {
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.9);
  position: relative; }
  @media screen and (min-width: 40em) {
    .value-container {
      padding: 1rem 2.5rem 2rem 2.5rem; } }
  .value-container > p {
    padding-top: 1rem;
    font-size: 18px;
    font-size: 1.125em;
    line-height: 1.25;
    padding: 0 60px; }
    @media screen and (max-width: 63.9375em) {
      .value-container > p {
        font-size: 19px;
        font-size: 1.1875em;
        padding: 0; } }
  .value-container p {
    color: #204433; }
  .value-container ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 64em) {
      .value-container ul {
        -webkit-flex-direction: row;
                flex-direction: row; } }
  .value-container ul p {
    font-size: 15px;
    font-size: 0.9375em;
    line-height: 1.2;
    color: #444444;
    text-align: left; }
    @media screen and (min-width: 64em) {
      .value-container ul p {
        font-size: 1em;
        text-align: center;
        line-height: 1.2; } }
    .value-container ul p strong {
      font-size: 18px;
      font-size: 1.125em;
      font-family: "Bryndan", sans-serif;
      font-weight: 500; }
      @media screen and (min-width: 64em) {
        .value-container ul p strong {
          font-size: 18px;
          font-size: 1.125em; } }
  .value-container a {
    margin-top: 1rem; }
    @media screen and (min-width: 64em) {
      .value-container a {
        margin-top: 0; } }
  .value-container li {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: hidden; }
    @media screen and (min-width: 40em) {
      .value-container li {
        padding-left: 50px; } }
    @media screen and (min-width: 64em) {
      .value-container li {
        -webkit-flex-direction: column;
                flex-direction: column;
        padding: 0 40px 0 40px;
        margin-top: 1rem; } }
    .value-container li .img-1,
    .value-container li .img-2,
    .value-container li .img-3 {
      max-width: 60px;
      margin-right: 10px;
      margin-left: -550px;
      transition: margin-left .2s ease; }
      @media screen and (min-width: 40em) {
        .value-container li .img-1,
        .value-container li .img-2,
        .value-container li .img-3 {
          max-width: 70px; } }
      @media screen and (min-width: 64em) {
        .value-container li .img-1,
        .value-container li .img-2,
        .value-container li .img-3 {
          margin-bottom: 20px;
          margin-right: 0; } }
  .value-container .button {
    margin: 0 !important; }

.pomme,
.framboise,
.orange {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }

.pomme {
  top: 2rem;
  left: -3rem;
  width: 5.25rem;
  height: 10rem;
  background-image: url("../images/pomme.png"); }
  @media screen and (max-width: 63.9375em) {
    .pomme {
      height: 6.25rem; } }
  @media screen and (min-width: 64em) {
    .pomme {
      width: 7rem; } }

.framboise {
  top: 4rem;
  right: -4rem;
  width: 5.5rem;
  height: 10.9375rem;
  background-image: url("../images/franboise.png"); }
  @media screen and (max-width: 63.9375em) {
    .framboise {
      top: 25%;
      right: -2.5rem;
      height: 7.5rem; } }
  @media screen and (min-width: 64em) {
    .framboise {
      width: 9.8125rem; } }

.orange {
  bottom: 2%;
  left: -4rem;
  width: 7rem;
  height: 12.1875rem;
  background-image: url("../images/orange.png"); }
  @media screen and (min-width: 64em) {
    .orange {
      width: 12.5rem;
      bottom: -2%; } }

.na-title {
  font-size: 1em;
  font-weight: 200; }
  .na-title span:first-child {
    display: block;
    line-height: 2;
    font-size: 29px;
    font-size: 1.8125em;
    -ms-transform: rotate(-3deg);
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
    -ms-transform: rotate(-3deg)\9; }
    @media screen and (max-width: 74.9375em) {
      .na-title span:first-child {
        font-size: 23px;
        font-size: 1.4375em; } }

.video-home__container .na-title {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
          align-items: center;
  margin-top: 0; }

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

.video-home__container__button {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  margin-top: 30px; }
  .video-home__container__button a {
    font-family: "Bryndan", sans-serif;
    font-size: 1.3rem;
    color: #204433;
    border-bottom: 2px solid #204433;
    text-transform: uppercase; }

.popup-game__bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 1042;
  background-color: rgba(0, 0, 0, 0.4);
  overflow: hidden; }
  .popup-game__bg.is-hide {
    display: none; }

.popup-game__wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  overflow-x: hidden;
  overflow-y: auto; }
  .popup-game__wrap.is-hide {
    display: none; }

#modal-game {
  max-width: 800px;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%); }
  #modal-game img {
    display: block;
    margin: 0 auto;
    width: 100%; }

.popup-game__close {
  position: absolute;
  top: -30px;
  right: 0;
  z-index: 502;
  cursor: pointer;
  width: 30px;
  height: 30px;
  display: block; }
  .popup-game__close::before {
    position: absolute;
    top: 12px;
    right: -3px;
    content: " ";
    width: 25px;
    height: 1px;
    background-color: #ffffff;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  .popup-game__close::after {
    position: absolute;
    top: 12px;
    left: 7px;
    content: " ";
    width: 25px;
    height: 1px;
    background-color: #ffffff;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }

.game__title {
  text-align: center; }
  .game__title p {
    margin-bottom: 0;
    font-size: 40px; }

.game .bloc-align h3 {
  display: inline;
  font-weight: 700;
  color: #86a20b;
  font-size: 45px;
  padding: 0 5px; }

.game .bloc-align h4 {
  display: inline;
  font-weight: 700;
  color: #cc823f;
  font-size: 45px;
  padding: 0 5px; }

.game .bloc-align p {
  display: inline;
  padding: 0 5px; }

.game__content {
  position: relative;
  overflow-x: hidden; }
  .game__content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  font-size: 17px;
  line-height: 22px; }
  @media screen and (min-width: 40em) {
    .woocommerce ul.products li.product .woocommerce-loop-category__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h3 {
      font-size: 22px;
      line-height: 30px; } }

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  font-size: 17px;
  line-height: 22px; }
  @media screen and (min-width: 40em) {
    .woocommerce ul.products li.product .woocommerce-loop-category__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h3 {
      font-size: 22px;
      line-height: 30px; } }

.woocommerce div.product form.cart .variations select {
  margin: 0 0 0.6rem 0rem; }

.woocommerce-variation-add-to-cart {
  margin-top: 0.9375rem; }

.single-product .variations label {
  font-size: 1.1875rem; }

.woocommerce-Price-amount.amount:nth-child(1) {
  font-weight: 500; }

.price_from .amount-text {
  display: none; }

.single_variation_wrap .woocommerce-variation {
  position: relative;
  display: -webkit-flex;
  display: flex; }

.single_variation_wrap .single_variation {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
          align-items: center; }
  .single_variation_wrap .single_variation .woocommerce-variation-description {
    -webkit-order: 2;
            order: 2; }
  .single_variation_wrap .single_variation .woocommerce-variation-price {
    -webkit-order: 1;
            order: 1; }
  .single_variation_wrap .single_variation .woocommerce-variation-availability {
    -webkit-order: 3;
            order: 3; }
  .single_variation_wrap .single_variation .woocommerce-variation-description,
  .single_variation_wrap .single_variation .woocommerce-variation-price,
  .single_variation_wrap .single_variation .woocommerce-variation-availability {
    margin-right: 10px; }
    .single_variation_wrap .single_variation .woocommerce-variation-description p,
    .single_variation_wrap .single_variation .woocommerce-variation-price p,
    .single_variation_wrap .single_variation .woocommerce-variation-availability p {
      margin-bottom: 0 !important; }

.single_variation_wrap .woocommerce-variation-description p {
  font-size: 14px;
  color: #979797; }

.post-50 h2, .woocommerce-cart h2, .post-1554 h2 {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
  font-size: 1.6875rem;
  text-align: center; }

.post-50 .product-price, .post-50 .product-subtotal, .woocommerce-cart .product-price, .woocommerce-cart .product-subtotal, .post-1554 .product-price, .post-1554 .product-subtotal {
  font-size: 1rem; }

.post-50 .actions, .woocommerce-cart .actions, .post-1554 .actions {
  padding: 1.125rem 0.75rem !important; }

.post-50 .wc-proceed-to-checkout a, .woocommerce-cart .wc-proceed-to-checkout a, .post-1554 .wc-proceed-to-checkout a {
  text-transform: uppercase;
  background-color: #6f9930 !important;
  color: #ffffff;
  font-size: 0.875rem !important; }

@media screen and (max-width: 74.9375em) {
  .woocommerce-cart .product-quantity {
    min-height: 56px; } }

@media screen and (max-width: 74.9375em) {
  .woocommerce-cart .product-quantity .quantity {
    float: right; } }

.woocommerce-cart .product-quantity .quantity-nav {
  float: left;
  position: relative;
  height: 43px;
  margin-left: 20px; }

.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: 125px !important; }
  @media screen and (max-width: 74.9375em) {
    .woocommerce-cart table.cart td.actions .coupon .input-text {
      float: none;
      clear: both;
      width: 100% !important; } }

@media screen and (max-width: 63.9375em) {
  .woocommerce-cart table.cart td.actions .coupon input[type=submit] {
    float: none !important;
    clear: both !important;
    width: 100%; } }

.woocommerce .cart-collaterals .cross-sells, .woocommerce-page .cart-collaterals .cross-sells, .cross-sells {
  width: 100%; }

.woocommerce-cart .cart-collaterals {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-align-items: flex-end;
          align-items: flex-end; }

.post-51 h2, .post-1556 h2 {
  font-size: 1.6875rem;
  margin-top: 1.875rem;
  margin-bottom: 2.1875rem;
  text-align: center; }

.post-51 h3, .post-1556 h3 {
  font-size: 1.5rem;
  margin-top: 20px; }

.post-51 .content ul:not(.gform_fields) li::before, .post-1556 .content ul:not(.gform_fields) li::before {
  display: none; }

.post-51 .place-order .button, .post-1556 .place-order .button {
  text-transform: uppercase;
  background-color: #6f9930 !important;
  color: #ffffff;
  font-size: 0.875rem !important; }

.post-51 .woocommerce-order .woocommerce-thankyou-order-received, .post-1556 .woocommerce-order .woocommerce-thankyou-order-received {
  font-size: 1.875rem;
  margin: 1.25rem 0 2.5rem 0; }

.post-51 .woocommerce form .form-row.woocommerce-validated .select2-container,
.post-51 .woocommerce form .form-row.woocommerce-validated input.input-text,
.post-51 .woocommerce form .form-row.woocommerce-validated select, .post-1556 .woocommerce form .form-row.woocommerce-validated .select2-container,
.post-1556 .woocommerce form .form-row.woocommerce-validated input.input-text,
.post-1556 .woocommerce form .form-row.woocommerce-validated select {
  display: block;
  overflow-x: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  padding: 0.3rem 0.1rem 0.2rem 0rem;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: #000000;
  cursor: pointer;
  outline: none; }
  .post-51 .woocommerce form .form-row.woocommerce-validated .select2-container .selection .select2-selection.select2-selection--single,
  .post-51 .woocommerce form .form-row.woocommerce-validated input.input-text .selection .select2-selection.select2-selection--single,
  .post-51 .woocommerce form .form-row.woocommerce-validated select .selection .select2-selection.select2-selection--single, .post-1556 .woocommerce form .form-row.woocommerce-validated .select2-container .selection .select2-selection.select2-selection--single,
  .post-1556 .woocommerce form .form-row.woocommerce-validated input.input-text .selection .select2-selection.select2-selection--single,
  .post-1556 .woocommerce form .form-row.woocommerce-validated select .selection .select2-selection.select2-selection--single {
    border: 0;
    color: #000000;
    outline: none; }

.post-51 .select2-container--default .select2-selection--single .select2-selection__arrow, .post-1556 .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 5px;
  right: 5px; }

.post-51 .select2-container--default .select2-selection--single .select2-selection__rendered, .post-1556 .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #000000; }

.post-51 .content ul:not(.gform_fields) li::before, .post-1556 .content ul:not(.gform_fields) li::before {
  width: 0; }

.post-51 .woocommerce-info, .post-1556 .woocommerce-info {
  border-top-color: #6f9930; }

.post-51 .woocommerce-info::before, .post-1556 .woocommerce-info::before {
  color: #6f9930; }

.post-51 .formulaire-newsletter_wrapper, .post-1556 .formulaire-newsletter_wrapper {
  margin: 25px 0 50px 0; }
  .post-51 .formulaire-newsletter_wrapper.gform_validation_error .gform_footer, .post-1556 .formulaire-newsletter_wrapper.gform_validation_error .gform_footer {
    margin-left: -10px; }

.post-51 form.formulaire-newsletter, .post-1556 form.formulaire-newsletter {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap; }
  .post-51 form.formulaire-newsletter .gform_heading h3, .post-1556 form.formulaire-newsletter .gform_heading h3 {
    text-align: center;
    -webkit-flex: 100%;
            flex: 100%;
    font-family: "Bryndan", sans-serif;
    font-size: 30px !important;
    font-weight: 500;
    color: #204433;
    margin-bottom: 0; }
    @media screen and (max-width: 39.9375em) {
      .post-51 form.formulaire-newsletter .gform_heading h3, .post-1556 form.formulaire-newsletter .gform_heading h3 {
        font-size: 21px !important; } }
  .post-51 form.formulaire-newsletter .gform_body, .post-1556 form.formulaire-newsletter .gform_body {
    width: 35%;
    margin-left: 0; }
    @media screen and (max-width: 39.9375em) {
      .post-51 form.formulaire-newsletter .gform_body, .post-1556 form.formulaire-newsletter .gform_body {
        width: 80%; } }
    .post-51 form.formulaire-newsletter .gform_body div.ginput_container, .post-1556 form.formulaire-newsletter .gform_body div.ginput_container {
      margin-top: 0; }
  .post-51 form.formulaire-newsletter .newsletter-email, .post-1556 form.formulaire-newsletter .newsletter-email {
    width: 100%; }
    .post-51 form.formulaire-newsletter .newsletter-email label, .post-1556 form.formulaire-newsletter .newsletter-email label {
      display: none; }
    .post-51 form.formulaire-newsletter .newsletter-email.gfield_error label, .post-1556 form.formulaire-newsletter .newsletter-email.gfield_error label {
      color: #204433;
      padding-bottom: 0; }
  .post-51 form.formulaire-newsletter .validation_error, .post-1556 form.formulaire-newsletter .validation_error {
    display: none; }
  .post-51 form.formulaire-newsletter .gform_body ul li, .post-1556 form.formulaire-newsletter .gform_body ul li {
    margin: 0;
    padding: 0;
    position: relative; }
    .post-51 form.formulaire-newsletter .gform_body ul li.gfield_error, .post-1556 form.formulaire-newsletter .gform_body ul li.gfield_error {
      width: 100% !important;
      margin-bottom: 0 !important; }
    .post-51 form.formulaire-newsletter .gform_body ul li input[type="text"], .post-1556 form.formulaire-newsletter .gform_body ul li input[type="text"] {
      margin: 0;
      width: 100%;
      height: 2.2375rem; }
    .post-51 form.formulaire-newsletter .gform_body ul li .validation_message, .post-1556 form.formulaire-newsletter .gform_body ul li .validation_message {
      position: absolute; }
      .post-51 form.formulaire-newsletter .gform_body ul li .validation_message.gfield_description, .post-1556 form.formulaire-newsletter .gform_body ul li .validation_message.gfield_description {
        padding: 0; }
  .post-51 form.formulaire-newsletter .gform_footer, .post-1556 form.formulaire-newsletter .gform_footer {
    width: 10%;
    padding: 0;
    margin: 0; }
    @media screen and (max-width: 39.9375em) {
      .post-51 form.formulaire-newsletter .gform_footer, .post-1556 form.formulaire-newsletter .gform_footer {
        width: 20%; } }
    .post-51 form.formulaire-newsletter .gform_footer input[type="submit"], .post-1556 form.formulaire-newsletter .gform_footer input[type="submit"] {
      background-color: #6f9930;
      color: #ffffff;
      outline: none;
      margin: 0;
      line-height: 1 !important;
      min-height: 1rem !important; }

.post-51 .gform_confirmation_message, .post-1556 .gform_confirmation_message {
  font-family: "Nunito", sans-serif;
  padding: 10px 0;
  color: #204433; }

.post-51 .woocommerce-account-fields p label span {
  font-size: 23px;
  text-decoration: underline; }

.payment_method_paypal label {
  display: inline; }

.wc_payment_method::before, .wc_payment_method::after {
  height: 0 !important; }

.shop-container {
  position: relative; }
  .shop-container .bloc-sidebar {
    display: none; }
    @media screen and (min-width: 64em) {
      .shop-container .bloc-sidebar {
        display: block;
        background-color: #ffffff; } }
  .shop-container .filter-products {
    display: block; }
    @media screen and (min-width: 40em) {
      .shop-container .filter-products {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
                justify-content: flex-start;
        -webkit-flex-wrap: wrap;
                flex-wrap: wrap; } }
    @media screen and (min-width: 64em) {
      .shop-container .filter-products {
        display: block; } }
    .shop-container .filter-products__items {
      width: 100%; }
      @media screen and (min-width: 40em) {
        .shop-container .filter-products__items {
          width: 50%; } }
      @media screen and (min-width: 64em) {
        .shop-container .filter-products__items {
          width: 100%; } }
      .shop-container .filter-products__items label {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
                align-items: center;
        font-size: 20px;
        font-family: "Bryndan", sans-serif;
        color: #204433; }
      .shop-container .filter-products__items input[type='radio'] {
        outline: none;
        -webkit-appearance: none;
                appearance: none;
        background-color: #ffffff;
        margin: 0 20px 0 0;
        width: 20px;
        min-width: 20px;
        height: 20px;
        min-height: 20px;
        border: 3px solid #6f9930;
        border-radius: 5px; }
        .shop-container .filter-products__items input[type='radio']:checked {
          position: relative;
          background-color: white; }
          .shop-container .filter-products__items input[type='radio']:checked:before {
            position: absolute;
            bottom: -5px;
            display: -webkit-flex;
            display: flex;
            content: url("../images/check_na.svg"); }
  .shop-container .bloc-sidebar-responsive {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    background-color: #f5f7fa;
    margin-left: -15px;
    margin-right: -15px; }
    @media screen and (min-width: 64em) {
      .shop-container .bloc-sidebar-responsive {
        display: none; } }
    .shop-container .bloc-sidebar-responsive .filter-products {
      padding: 0 15px; }
  .shop-container .js-more-product {
    position: absolute;
    left: 0;
    right: 0; }

.xoo-wsc-header .message {
  padding: 40px 30px 0 30px; }
  .xoo-wsc-header .message p {
    margin: 0;
    font-size: 14px;
    font-size: 0.875em;
    font-family: "Nunito", sans-serif;
    color: #2a4235;
    font-weight: 700;
    text-align: center; }

.blog-header__description p {
  font-size: 18px;
  font-size: 1.125em;
  font-family: "Nunito", sans-serif;
  color: #204433;
  line-height: 30px;
  text-align: center; }

.blog-header__categories ul {
  list-style-type: none;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
          flex-direction: row;
  -webkit-justify-content: center;
          justify-content: center;
  -webkit-align-items: center;
          align-items: center;
  margin: 0;
  margin-bottom: 15px; }
  @media screen and (max-width: 63.9375em) {
    .blog-header__categories ul {
      -webkit-flex-direction: column;
              flex-direction: column; } }
  .blog-header__categories ul li {
    margin: 0 20px; }
    .blog-header__categories ul li a {
      font-size: 23px;
      font-size: 1.4375em;
      color: #204433;
      font-family: "Bryndan", sans-serif;
      transition: all ease .2s; }
      .blog-header__categories ul li a::after {
        transition: all ease .2s;
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background-color: #204433; }
    .blog-header__categories ul li:hover a, .blog-header__categories ul li.is-active a {
      color: #6f9930; }
      .blog-header__categories ul li:hover a::after, .blog-header__categories ul li.is-active a::after {
        width: 50%;
        -webkit-transform: translateX(50%);
            -ms-transform: translateX(50%);
                transform: translateX(50%);
        background-color: #6f9930; }

.blog-content {
  margin-bottom: 50px; }
  .blog-content__category-description p {
    font-size: 18px;
    font-size: 1.125em;
    font-family: "Bryndan", sans-serif;
    color: #6f9930;
    text-align: center;
    padding: 0 10px;
    margin-bottom: 30px; }
  .blog-content img {
    display: block;
    margin: 0 auto; }
  .blog-content__wrap:not(.first-article) {
    margin-top: 50px; }
  .blog-content__item {
    padding-top: 25px; }
    .blog-content__item h2 {
      font-size: 25px;
      font-size: 1.5625em;
      font-family: "Bryndan", sans-serif;
      color: #6f9930;
      font-weight: 500;
      padding-bottom: 10px; }
      @media screen and (max-width: 63.9375em) {
        .blog-content__item h2 {
          text-align: center; } }
    .blog-content__item--content {
      font-size: 16px;
      font-size: 1em;
      font-family: "Nunito", sans-serif;
      color: #204433;
      line-height: 20px;
      margin-bottom: 40px; }
      @media screen and (max-width: 63.9375em) {
        .blog-content__item--content {
          text-align: center; } }
    .blog-content__item--button a {
      background-color: #6f9930;
      text-transform: uppercase;
      padding: 10px 20px;
      color: #ffffff;
      font-size: 14px;
      font-size: 0.875em;
      font-weight: 400;
      border: 1px solid #6f9930;
      transition: all ease .2s; }
      .blog-content__item--button a:hover {
        background-color: transparent;
        color: #6f9930; }
      @media screen and (max-width: 63.9375em) {
        .blog-content__item--button a {
          display: block;
          max-width: 300px;
          margin: 0 auto; } }
    @media screen and (max-width: 63.9375em) {
      .blog-content__item--button {
        text-align: center; } }
  .blog-content .wp-pagenavi {
    margin: 40px 0;
    text-align: center; }

.single-article h1 {
  font-size: 60px;
  font-size: 3.75em;
  font-family: "Bryndan", sans-serif;
  color: #6f9930;
  font-weight: 500;
  text-align: center;
  line-height: 50px;
  margin: 20px 0; }

.single-article h2 {
  font-size: 28px;
  font-size: 1.75em;
  font-family: "Nunito", sans-serif;
  color: #204433;
  font-weight: 700;
  text-align: center;
  line-height: 20px;
  margin: 20px 0 40px 0; }

.single-article h3 {
  font-size: 23px;
  font-size: 1.4375em; }

.single-article h4 {
  font-size: 20px;
  font-size: 1.25em; }

.single-article__image {
  float: left;
  padding: 0 30px 10px 0; }
  @media screen and (max-width: 63.9375em) {
    .single-article__image {
      float: none;
      clear: both;
      text-align: center;
      padding: 0 0 30px 0; } }

.single-article__content {
  font-family: "Nunito", sans-serif;
  color: #204433;
  line-height: 20px; }
  .single-article__content ul li {
    line-height: 20px;
    margin-bottom: 10px; }
  .single-article__content p {
    font-size: 16px;
    font-size: 1em;
    line-height: 20px; }
    .single-article__content p img {
      max-width: 100%;
      width: auto;
      margin: 0 auto; }

.single-article__footer {
  display: -webkit-flex;
  display: flex;
  clear: both; }
  .single-article__footer .navigation-post {
    margin: 40px 0 20px 0; }
  .single-article__footer .navigation-post a {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
            flex-direction: row;
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
    -webkit-align-items: center;
            align-items: center; }
    @media screen and (max-width: 39.9375em) {
      .single-article__footer .navigation-post a {
        -webkit-flex-direction: column;
                flex-direction: column;
        -webkit-justify-content: center;
                justify-content: center; } }
  .single-article__footer--next {
    float: right;
    text-align: right; }
    @media screen and (max-width: 39.9375em) {
      .single-article__footer--next {
        float: none;
        clear: both;
        text-align: center; } }
    .single-article__footer--next a:hover .article-arrow::before {
      -webkit-transform: translateX(-5px) translateY(-50%) rotate(45deg);
          -ms-transform: translateX(-5px) translateY(-50%) rotate(45deg);
              transform: translateX(-5px) translateY(-50%) rotate(45deg); }
    .single-article__footer--next .article-image {
      margin-left: 15px; }
    .single-article__footer--next .article-arrow {
      position: relative;
      padding-right: 15px; }
      .single-article__footer--next .article-arrow::before {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        width: 13px;
        height: 13px;
        border-top: 3px solid #6f9930;
        border-right: 3px solid #6f9930;
        -webkit-transform: translateY(-50%) rotate(45deg);
            -ms-transform: translateY(-50%) rotate(45deg);
                transform: translateY(-50%) rotate(45deg);
        transition: all ease .4s; }
  .single-article__footer--prev {
    float: left; }
    @media screen and (max-width: 39.9375em) {
      .single-article__footer--prev {
        float: none;
        clear: both;
        text-align: center; } }
    .single-article__footer--prev a:hover .article-arrow::before {
      -webkit-transform: translateX(5px) translateY(-50%) rotate(-135deg);
          -ms-transform: translateX(5px) translateY(-50%) rotate(-135deg);
              transform: translateX(5px) translateY(-50%) rotate(-135deg); }
    .single-article__footer--prev .article-image {
      margin-right: 15px; }
    .single-article__footer--prev .article-arrow {
      position: relative;
      padding-left: 15px; }
      .single-article__footer--prev .article-arrow::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        width: 13px;
        height: 13px;
        border-top: 3px solid #6f9930;
        border-right: 3px solid #6f9930;
        -webkit-transform: translateY(-50%) rotate(-135deg);
            -ms-transform: translateY(-50%) rotate(-135deg);
                transform: translateY(-50%) rotate(-135deg);
        transition: all ease .4s; }
  .single-article__footer .article-title {
    font-size: 20px;
    font-size: 1.25em;
    color: #6f9930;
    font-family: "Bryndan", sans-serif; }

.faq {
  background: #fafBec;
  padding-bottom: 50px; }
  @media screen and (max-width: 63.9375em) {
    .faq {
      background: #ffffff; } }
  .faq .faq-title span {
    display: inline-block;
    margin-top: 45px; }
  .faq__content {
    display: -webkit-flex;
    display: flex;
    max-width: 1300px;
    margin: 15px auto; }
    @media screen and (max-width: 63.9375em) {
      .faq__content {
        width: auto; } }
    .faq__content__left ul {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
              flex-direction: column;
      -webkit-align-items: flex-start;
              align-items: flex-start;
      text-align: left; }
      .faq__content__left ul li {
        display: inline-block;
        margin-bottom: 30px;
        color: #204433;
        font-family: "Nunito", sans-serif;
        font-weight: bold;
        font-size: 18px;
        line-height: 23px;
        cursor: pointer; }
        .faq__content__left ul li.current {
          color: #6f9930;
          border-bottom: solid 2px #6f9930; }
    .faq__content__right {
      padding: 0 40px 20px;
      background: #ffffff; }
      @media screen and (max-width: 63.9375em) {
        .faq__content__right {
          padding: 0 20px;
          font-size: 18px; } }
      .faq__content__right h3 {
        display: inline-block;
        color: #6f9930;
        font-family: "Nunito", sans-serif;
        font-weight: bold;
        font-size: 18px;
        border-bottom: solid 2px #6f9930; }
        @media screen and (max-width: 63.9375em) {
          .faq__content__right h3 {
            padding-top: 10px; } }
      .faq__content__right h3 {
        display: inline-block;
        color: #6f9930;
        font-family: "Nunito", sans-serif;
        font-weight: bold;
        font-size: 1.5rem;
        border-bottom: solid 2px #6f9930; }
        @media screen and (max-width: 63.9375em) {
          .faq__content__right h3 {
            font-size: 1.2rem; } }
      .faq__content__right__singleFaq {
        overflow: hidden;
        max-height: 0;
        transition: all 1s linear; }
        @media screen and (max-width: 63.9375em) {
          .faq__content__right__singleFaq {
            display: block; } }
        .faq__content__right__singleFaq.current {
          max-height: 500px; }
        .faq__content__right__singleFaq .question {
          position: relative;
          padding: 20px 25px 10px 0;
          font-family: "Bryndan", sans-serif;
          font-size: 18px;
          color: #204433;
          border-bottom: 1px solid #204433;
          line-height: 20px;
          cursor: pointer; }
          @media screen and (max-width: 63.9375em) {
            .faq__content__right__singleFaq .question {
              padding-right: 10px;
              font-size: 1.2rem; } }
          .faq__content__right__singleFaq .question::after {
            position: absolute;
            top: 25px;
            right: 0;
            z-index: 10;
            width: 21px;
            height: 16px;
            background-image: url("../images/chevron.svg");
            background-repeat: no-repeat;
            background-size: contain;
            -webkit-transform: rotate(270deg);
                -ms-transform: rotate(270deg);
                    transform: rotate(270deg);
            transition: all 1s linear;
            content: ""; }
        .faq__content__right__singleFaq .answer {
          padding: 0 14px;
          margin-top: 20px;
          font-family: "Nunito", sans-serif;
          font-size: 15px;
          line-height: 24px;
          overflow: hidden;
          max-height: 0;
          transition: all 1s linear; }
          .faq__content__right__singleFaq .answer a {
            color: #6f9930;
            text-decoration: underline; }
          @media screen and (max-width: 63.9375em) {
            .faq__content__right__singleFaq .answer {
              top: 30px;
              font-size: 15px; } }
        .faq__content__right__singleFaq.active .answer {
          max-height: 500px; }
        .faq__content__right__singleFaq.active .question::after {
          -webkit-transform: rotate(90deg);
              -ms-transform: rotate(90deg);
                  transform: rotate(90deg); }

.faqContactSection {
  margin: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
          flex-direction: column;
  text-align: center;
  padding: 40px 0; }
  @media screen and (max-width: 63.9375em) {
    .faqContactSection {
      width: 100%; } }
  .faqContactSection__title {
    font-family: "Bryndan", sans-serif;
    font-size: 35px;
    margin: 0 0 32px 0; }
    @media screen and (max-width: 63.9375em) {
      .faqContactSection__title {
        padding: 0 30px;
        font-size: 2rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsInBhcnRpYWxzL19jb25maWcuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL19mb3VuZGF0aW9uLnNjc3MiLCJjb21wb25lbnQvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCJjb21wb25lbnQvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnQvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9fZ2xvYmFsLnNjc3MiLCJwYXJ0aWFscy9fZm91bmRhdGlvbi1zZXR0aW5ncy5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vdXRpbC9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9ncmlkL19jbGFzc2VzLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9ncmlkL19yb3cuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL3V0aWwvX3VuaXQuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL2dyaWQvX2d1dHRlci5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vZ3JpZC9fc2l6ZS5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vZ3JpZC9fY29sdW1uLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9ncmlkL19wb3NpdGlvbi5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vZ3JpZC9fbGF5b3V0LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9jb21wb25lbnRzL19tZW51LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi91dGlsL19tYXRoLnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9mb3Jtcy9fdGV4dC5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vZm9ybXMvX2NoZWNrYm94LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9mb3Jtcy9fbGFiZWwuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiY29tcG9uZW50L2ZvdW5kYXRpb24vZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9mb3Jtcy9fc2VsZWN0LnNjc3MiLCJjb21wb25lbnQvZm91bmRhdGlvbi9mb3Jtcy9fZXJyb3Iuc2NzcyIsImNvbXBvbmVudC9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwicGFydGlhbHMvX2Z1bmN0aW9ucy5zY3NzIiwicGFydGlhbHMvX21peGlucy5zY3NzIiwicGFydGlhbHMvX2NvbnRlbnQuc2NzcyIsInBhcnRpYWxzL193b3JkcHJlc3Muc2NzcyIsInBhcnRpYWxzL19kZXYuc2NzcyIsInBhcnRpYWxzL19icmVhZGNydW1iLnNjc3MiLCJ2aWV3cy9taXNjL19oYW1idXJnZXIuc2NzcyIsInZpZXdzL21pc2MvX2JvZHkuc2NzcyIsInZpZXdzL21pc2MvX21lbnUtcmVzcG9uc2l2ZS5zY3NzIiwidmlld3MvbWlzYy9fY29va2llLnNjc3MiLCJ2aWV3cy9taXNjL19kb3duYXJyLnNjc3MiLCJ2aWV3cy9taXNjL191cGFyci5zY3NzIiwidmlld3MvbWlzYy9fZ3Jhdml0eS5zY3NzIiwidmlld3MvbWlzYy9fYnV0dG9ucy5zY3NzIiwidmlld3MvbWlzYy9fZm91cm9mb3VyLnNjc3MiLCJ2aWV3cy9taXNjL19zbGlkZXItYnV0dG9ucy5zY3NzIiwidmlld3MvcHJvZHVjdC9fY2F0ZWdvcnkuc2NzcyIsInZpZXdzL3Byb2R1Y3QvX3Byb2R1Y3Quc2NzcyIsInZpZXdzL3Byb2R1Y3QvX3Nob3Auc2NzcyIsInZpZXdzL2hlYWRlci9faGVhZGVyLnNjc3MiLCJ2aWV3cy9oZWFkZXIvX3RodW1ibmFpbC5zY3NzIiwidmlld3MvaGVhZGVyL19sYW5nLXN3aXRjaGVyLnNjc3MiLCJ2aWV3cy9oZWFkZXIvX3NlYXJjaC1ib3guc2NzcyIsInZpZXdzL3NsaWRlci9fc2xpZGVyLWhvbWUtYWN0dS5zY3NzIiwidmlld3Mvc2xpZGVyL19zbGlkZXItc3Rvcnkuc2NzcyIsInZpZXdzL21hbmlmZXN0L19tYW5pZmVzdC5zY3NzIiwidmlld3MvbWFuaWZlc3QvX21hbmlmZXN0LXRlYW0uc2NzcyIsInZpZXdzL25vdXMtdHJvdXZlci9fbm91cy10cm91dmVyLnNjc3MiLCJ2aWV3cy90b3VzLWluZ3JlZGllbnRzL190b3VzLWluZ3JlZGllbnRzLnNjc3MiLCJ2aWV3cy90b3VzLXJlY2V0dGVzL190b3VzLXJlY2V0dGVzLnNjc3MiLCJ2aWV3cy9yZWNldHRlcy9fcmVjZXR0ZXMuc2NzcyIsInZpZXdzL25hdHRpdHVkZS9fbmF0dGl0dWRlLnNjc3MiLCJ2aWV3cy9wb3B1cC9faW5mby5zY3NzIiwidmlld3MvcG9wdXAtbmV3c2xldHRlci9fcG9wdXAtbmV3c2xldHRlci5zY3NzIiwidmlld3MvY29udGFjdC9fY29udGFjdC5zY3NzIiwidmlld3MvZm9vdGVyL19mb290ZXIuc2NzcyIsInZpZXdzL2hvbWUvX2luc3RhZ3JhbS5zY3NzIiwidmlld3MvaG9tZS9fdmFsdWUuc2NzcyIsInZpZXdzL2hvbWUvX3ZpZGVvLnNjc3MiLCJ2aWV3cy9nYW1lL19nYW1lLnNjc3MiLCJ2aWV3cy93b29jb21tZXJjZS9fY2F0ZWdvcnktcHJvZHVjdC5zY3NzIiwidmlld3Mvd29vY29tbWVyY2UvX3Byb2R1Y3Quc2NzcyIsInZpZXdzL3dvb2NvbW1lcmNlL19jYXJ0LnNjc3MiLCJ2aWV3cy93b29jb21tZXJjZS9fY2hlY2tvdXQuc2NzcyIsInZpZXdzL3dvb2NvbW1lcmNlL19zaWRlYmFyLnNjc3MiLCJ2aWV3cy9ibG9nL19ibG9nLWhlYWRlci5zY3NzIiwidmlld3MvYmxvZy9fYmxvZy1jb250ZW50LnNjc3MiLCJ2aWV3cy9ibG9nL19ibG9nLXNpbmdsZS5zY3NzIiwidmlld3MvZmFxL19mYXEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNDaEI7O0VERUU7QUV1Q0Y7RUFDSSxzQkFBd0I7RUFDeEIsMkhBQzhEO0VBQzlELG1CQUFxQjtFQUNyQixrQkFBcUIsRUFBQTs7QUFHekI7RUFDSSxxQkFBdUI7RUFDdkIsaUhBQ3lEO0VBQ3pELG1CQUFxQjtFQUNyQixrQkFBcUIsRUFBQTs7QUN2RHpCOzs7OztFSHFCRTtBSXdCQSxnRUFBQTtBQUdFO21GSnhCK0U7QUkyQi9FOzs7OztNSnJCRTtBSTRCRjtFQUNFLHVCQzFDdUI7RUQwQ1MsTUFBQTtFQVE5QixpQkFBaUI7RUFBRSxNQUFBO0VBRXJCLDBCQUEwQjtFQUFFLE1BQUE7RUFDNUIsOEJBQThCO0VBQUUsTUFBQSxFQUFPOztBQUt6QzttRkpqQytFO0FJb0MvRTs7TUpqQ0U7QUlxQ0Y7RUFDRSxTQUFTLEVBQUE7O0FBR1g7O01KbkNFO0FJdUNGOzs7Ozs7RUFNRSxjQUFjLEVBQUE7O0FBR2hCOzs7TUpwQ0U7QUl5Q0Y7RUU5RUYsY0FYdUM7RUZvR2pDLGdCQUFnQixFQUFBOztBQXNDcEI7bUZKcEYrRTtBSTRIL0U7O01KekhFO0FJNkhG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QUhtRCxFQUFBOztBUDJHakQ7RU85RUosZ0JEYnFELEVBQUE7O0FOeUVqRDtFS3hGSixnQkNlcUQsRUFBQTs7QU4rRS9DO0VPN0ZKLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUG1HL0M7RU9qR0osa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUDJHakQ7RU85RUosc0JEYnFELEVBQUE7O0FOeUVqRDtFS3hGSixVQ2VxRCxFQUFBOztBTitFL0M7RU83Rkosa0JBQWtCO0VBQ2xCLFNBSG1ELEVBQUE7O0FQbUcvQztFT2pHSixrQkFBa0I7RUFDbEIsVUFIbUQsRUFBQTs7QVAyR2pEO0VPOUVKLHNCRGJxRCxFQUFBOztBTnlFakQ7RUt4RkosZ0JDZXFELEVBQUE7O0FOK0UvQztFTzdGSixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVBtRy9DO0VPakdKLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVAyR2pEO0VPOUVKLGdCRGJxRCxFQUFBOztBTnlFakQ7RUt4RkosZ0JDZXFELEVBQUE7O0FOK0UvQztFTzdGSixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVBtRy9DO0VPakdKLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVAyR2pEO0VPOUVKLHNCRGJxRCxFQUFBOztBTnlFakQ7RUt4RkosV0NlcUQsRUFBQTs7QU4yRmpEO0VPOUVKLHNCRGJxRCxFQUFBOztBTmtHakQ7RVF6R0YsV1grRXVEO0VXOUV2RCxXQUF1QixFQUFBO0VSd0dyQjtJUWpGQSxXQUFXLEVBQUE7RVJpRlg7SVE3RUEsV0FBVyxFQUFBO0VSNkVYO0lRekVBLFdYK0NxRCxFQUFBOztBRzBCckQ7RVF6R0YsV1grRXVEO0VXOUV2RCxVQUF1QixFQUFBO0VSd0dyQjtJUWpGQSxXQUFXLEVBQUE7RVJpRlg7SVE3RUEsV0FBVyxFQUFBO0VSNkVYO0lRekVBLFdYK0NxRCxFQUFBOztBRzBCckQ7RVF6R0YsV1grRXVEO0VXOUV2RCxnQkFBdUIsRUFBQTtFUndHckI7SVFqRkEsV0FBVyxFQUFBO0VSaUZYO0lRN0VBLFdBQVcsRUFBQTtFUjZFWDtJUXpFQSxXWCtDcUQsRUFBQTs7QUcwQnJEO0VRekdGLFdYK0V1RDtFVzlFdkQsVUFBdUIsRUFBQTtFUndHckI7SVFqRkEsV0FBVyxFQUFBO0VSaUZYO0lRN0VBLFdBQVcsRUFBQTtFUjZFWDtJUXpFQSxXWCtDcUQsRUFBQTs7QUcwQnJEO0VRekdGLFdYK0V1RDtFVzlFdkQsVUFBdUIsRUFBQTtFUndHckI7SVFqRkEsV0FBVyxFQUFBO0VSaUZYO0lRN0VBLFdBQVcsRUFBQTtFUjZFWDtJUXpFQSxXWCtDcUQsRUFBQTs7QUcwQnJEO0VRekdGLFdYK0V1RDtFVzlFdkQsZ0JBQXVCLEVBQUE7RVJ3R3JCO0lRakZBLFdBQVcsRUFBQTtFUmlGWDtJUTdFQSxXQUFXLEVBQUE7RVI2RVg7SVF6RUEsV1grQ3FELEVBQUE7O0FHMEJyRDtFUXpHRixXWCtFdUQ7RVc5RXZELGdCQUF1QixFQUFBO0VSd0dyQjtJUWpGQSxXQUFXLEVBQUE7RVJpRlg7SVE3RUEsV0FBVyxFQUFBO0VSNkVYO0lRekVBLFdYK0NxRCxFQUFBOztBRzBCckQ7RVF6R0YsV1grRXVEO0VXOUV2RCxZQUF1QixFQUFBO0VSd0dyQjtJUWpGQSxXQUFXLEVBQUE7RVJpRlg7SVE3RUEsV0FBVyxFQUFBO0VSNkVYO0lRekVBLFdYK0NxRCxFQUFBOztBR2dDdkQ7RUcvR0EsZ0JEdUVTO0VDdEVULGVEc0VTLEVBQUE7O0FGd0NUO0VBSUksZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUFJbEI7RUFDRSxlQUFlO0VBQ2YsY0FBYyxFQUFBOztBQUdoQjtFRzdIQSx1QkFGcUM7RUFHckMsc0JBSHFDLEVBQUE7O0FIb0lyQztFT2pJQSxrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7RUFMakI7SUFDRSxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBUHdJYjs7O0VPNUhGLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUh1SFY7RUpyREE7SUt4RkosZUNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLGNBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixlRGhCZ0MsRUFBQTtFTjRFNUI7SUt4RkosZ0JDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLHFCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixVQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLHNCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixnQkNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUDJHakQ7SU85RUosZ0JEYnFELEVBQUE7RU55RWpEO0lLeEZKLGdCQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixzQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosVUNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixzQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosZ0JDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLGdCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixnQkNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUDJHakQ7SU85RUosc0JEYnFELEVBQUE7RU55RWpEO0lLeEZKLFVDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUDJHakQ7SU85RUosc0JEYnFELEVBQUE7RU55RWpEO0lLeEZKLGdCQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixnQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosZ0JDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLHNCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixXQ2VxRCxFQUFBO0VOMkZqRDtJTzlFSixzQkRicUQsRUFBQTtFTmtHakQ7SVF6R0YsV1grRXVEO0lXOUV2RCxXQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHMEJyRDtJUXpHRixXWCtFdUQ7SVc5RXZELFVBQXVCLEVBQUE7SVJ3R3JCO01RakZBLFdBQVcsRUFBQTtJUmlGWDtNUTdFQSxXQUFXLEVBQUE7SVI2RVg7TVF6RUEsV1grQ3FELEVBQUE7RUcwQnJEO0lRekdGLFdYK0V1RDtJVzlFdkQsZ0JBQXVCLEVBQUE7SVJ3R3JCO01RakZBLFdBQVcsRUFBQTtJUmlGWDtNUTdFQSxXQUFXLEVBQUE7SVI2RVg7TVF6RUEsV1grQ3FELEVBQUE7RUcwQnJEO0lRekdGLFdYK0V1RDtJVzlFdkQsVUFBdUIsRUFBQTtJUndHckI7TVFqRkEsV0FBVyxFQUFBO0lSaUZYO01RN0VBLFdBQVcsRUFBQTtJUjZFWDtNUXpFQSxXWCtDcUQsRUFBQTtFRzBCckQ7SVF6R0YsV1grRXVEO0lXOUV2RCxVQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHMEJyRDtJUXpHRixXWCtFdUQ7SVc5RXZELGdCQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHMEJyRDtJUXpHRixXWCtFdUQ7SVc5RXZELGdCQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHMEJyRDtJUXpHRixXWCtFdUQ7SVc5RXZELFlBQXVCLEVBQUE7SVJ3R3JCO01RakZBLFdBQVcsRUFBQTtJUmlGWDtNUTdFQSxXQUFXLEVBQUE7SVI2RVg7TVF6RUEsV1grQ3FELEVBQUE7RUdnQ3ZEO0lHL0dBLGdCRHVFUztJQ3RFVCxlRHNFUyxFQUFBO0VGd0NUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUc3SEEsd0JBRnFDO0lBR3JDLHVCQUhxQyxFQUFBO0VIb0lyQztJT2pJQSxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUFMakI7TUFDRSxXQUFXO01BQ1gsV0FBVyxFQUFBO0VQd0liOzs7SU81SEYsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsY0FBYyxFQUFBLEVQNkhYOztBSU5DO0VKckRBO0lLeEZKLGVDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixjQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUDJHakQ7SU85RUosZURoQmdDLEVBQUE7RU40RTVCO0lLeEZKLGdCQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixxQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosVUNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixzQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosZ0JDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLGdCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixnQkNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUDJHakQ7SU85RUosc0JEYnFELEVBQUE7RU55RWpEO0lLeEZKLFVDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUDJHakQ7SU85RUosc0JEYnFELEVBQUE7RU55RWpEO0lLeEZKLGdCQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixnQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosZ0JDZXFELEVBQUE7RU4rRS9DO0lPN0ZKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VQbUcvQztJT2pHSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLHNCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixVQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVAyR2pEO0lPOUVKLHNCRGJxRCxFQUFBO0VOeUVqRDtJS3hGSixnQkNlcUQsRUFBQTtFTitFL0M7SU83Rkosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVBtRy9DO0lPakdKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUDJHakQ7SU85RUosZ0JEYnFELEVBQUE7RU55RWpEO0lLeEZKLGdCQ2VxRCxFQUFBO0VOK0UvQztJTzdGSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUG1HL0M7SU9qR0osa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VQMkdqRDtJTzlFSixzQkRicUQsRUFBQTtFTnlFakQ7SUt4RkosV0NlcUQsRUFBQTtFTjJGakQ7SU85RUosc0JEYnFELEVBQUE7RU5rR2pEO0lRekdGLFdYK0V1RDtJVzlFdkQsV0FBdUIsRUFBQTtJUndHckI7TVFqRkEsV0FBVyxFQUFBO0lSaUZYO01RN0VBLFdBQVcsRUFBQTtJUjZFWDtNUXpFQSxXWCtDcUQsRUFBQTtFRzBCckQ7SVF6R0YsV1grRXVEO0lXOUV2RCxVQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHMEJyRDtJUXpHRixXWCtFdUQ7SVc5RXZELGdCQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHMEJyRDtJUXpHRixXWCtFdUQ7SVc5RXZELFVBQXVCLEVBQUE7SVJ3R3JCO01RakZBLFdBQVcsRUFBQTtJUmlGWDtNUTdFQSxXQUFXLEVBQUE7SVI2RVg7TVF6RUEsV1grQ3FELEVBQUE7RUcwQnJEO0lRekdGLFdYK0V1RDtJVzlFdkQsVUFBdUIsRUFBQTtJUndHckI7TVFqRkEsV0FBVyxFQUFBO0lSaUZYO01RN0VBLFdBQVcsRUFBQTtJUjZFWDtNUXpFQSxXWCtDcUQsRUFBQTtFRzBCckQ7SVF6R0YsV1grRXVEO0lXOUV2RCxnQkFBdUIsRUFBQTtJUndHckI7TVFqRkEsV0FBVyxFQUFBO0lSaUZYO01RN0VBLFdBQVcsRUFBQTtJUjZFWDtNUXpFQSxXWCtDcUQsRUFBQTtFRzBCckQ7SVF6R0YsV1grRXVEO0lXOUV2RCxnQkFBdUIsRUFBQTtJUndHckI7TVFqRkEsV0FBVyxFQUFBO0lSaUZYO01RN0VBLFdBQVcsRUFBQTtJUjZFWDtNUXpFQSxXWCtDcUQsRUFBQTtFRzBCckQ7SVF6R0YsV1grRXVEO0lXOUV2RCxZQUF1QixFQUFBO0lSd0dyQjtNUWpGQSxXQUFXLEVBQUE7SVJpRlg7TVE3RUEsV0FBVyxFQUFBO0lSNkVYO01RekVBLFdYK0NxRCxFQUFBO0VHZ0N2RDtJRy9HQSxnQkR1RVM7SUN0RVQsZURzRVMsRUFBQTtFRndDVDtJQUlJLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFJbEI7SUFDRSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBR2hCO0lHN0hBLHdCQUZxQztJQUdyQyx1QkFIcUMsRUFBQTtFSG9JckM7SU9qSUEsa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFBO0lBTGpCO01BQ0UsV0FBVztNQUNYLFdBQVcsRUFBQTtFUHdJYjs7O0lPNUhGLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWMsRUFBQSxFUDZIWDs7QUFJSDtFRzFGRSxzQkRhcUQsRUFBQTtFQ1hyRDtJQUNFLGdCQUFnQixFQUFBO0VDNkVoQjtJSlVKO01HMUZFLHVCRGFxRCxFQUFBO01DWHJEO1FBQ0UsZ0JBQWdCLEVBQUEsRUFDakI7O0FNZ0xIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBSVo7RUFDRSxtQlhsSjBCO0VXb0oxQixrQkFBa0I7RUFDbEIsZ0JYdEpzQjtFV3VKdEIsa0NYckp5QyxFQUFBOztBV3lKM0M7O0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUl0Qjs7RUFFRSxnQmpCbFFrQjtFaUJtUWxCLG9CQUFvQixFQUFBOztBZmlEcEI7RWU1Q0EsY1g1S2lCO0VXNktqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLGlDakIzUm1DO0VpQjRSbkMsa0JYaE5zQjtFV2lOdEIsZ0JqQnZSa0I7RWlCd1JsQixjWGhOa0I7RVdpTmxCLGtDWDVMc0MsRUFBQTtFV2tMeEM7Ozs7OztJQWFJLGNBQWM7SUFDZCxjWHRRZSxFQUFBOztBSjRDakI7RWV1T1EsaUJQdlA2QztFT21RN0MsZ0JYN09XO0VXcVBYLGFBQWE7RUFPYixxQlgzUGlCLEVBQUE7O0FXNE5yQjtFQUlJLGtCUHZQNkM7RU9tUTdDLGdCWDdPVztFV3FQWCxhQUFhO0VBT2IscUJYM1BpQixFQUFBOztBVzROckI7RUFJSSxvQlB2UDZDO0VPbVE3QyxnQlg3T1c7RVdxUFgsYUFBYTtFQU9iLHFCWDNQaUIsRUFBQTs7QVc0TnJCO0VBSUksbUJQdlA2QztFT21RN0MsZ0JYN09XO0VXcVBYLGFBQWE7RUFPYixxQlgzUGlCLEVBQUE7O0FXNE5yQjtFQUlJLG9CUHZQNkM7RU9tUTdDLGdCWDdPVztFV3FQWCxhQUFhO0VBT2IscUJYM1BpQixFQUFBOztBVzROckI7RUFJSSxlUHZQNkM7RU9tUTdDLGdCWDdPVztFV3FQWCxhQUFhO0VBT2IscUJYM1BpQixFQUFBOztBTTRDdkI7RVZuREY7SWV1T1EsZVB2UDZDLEVBQUE7RU9tUGpEO0lBSUksaUJQdlA2QyxFQUFBO0VPbVBqRDtJQUlJLG9CUHZQNkMsRUFBQTtFT21QakQ7SUFJSSxvQlB2UDZDLEVBQUE7RU9tUGpEO0lBSUksa0JQdlA2QyxFQUFBO0VPbVBqRDtJQUlJLGVQdlA2QyxFQUFBLEVPb1JoRDs7QWZuR0w7RWUwR0Esb0JBQW9CO0VBQ3BCLGNqQmpYc0I7RWlCa1h0QixxQlhyT3lCO0VXdU96QixlQUFlLEVBQUE7RUFMakI7SUFTSSxjWDVPMkQsRUFBQTtFV21PL0Q7SUFnQkksU0FBUyxFQUFBOztBZnRLWDtFZTRLQSxXQUFXO0VBRVgsZ0JQbFRxRDtFT21UckQsU0FBUztFQUNULG9CWHhQeUI7RVcwUHpCLGFBQWE7RUFDYixlQUFlO0VBQ2YsZ0NYcFZpQjtFV3FWakIsY0FBYyxFQUFBOztBQUloQjs7O0VBR0UsbUJYbFIwQjtFV21SMUIsNEJYalF5QjtFV2tRekIsZ0JYclJzQixFQUFBOztBV3lSeEI7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQlgzUXNCO0VXNFF0QixxQlg5UWtCLEVBQUE7O0FXa1JwQjtFQUNFLG9CWGpSc0IsRUFBQTs7QVdxUnhCO0VBRUksb0JYdFIyQjtFV3VSM0IsZ0JBQWdCLEVBQUE7O0FBS3BCO0VBQ0UsbUJYNVJ5QixFQUFBO0VXMlIzQjtJQUlJLHFCWDdSOEI7SVc4UjlCLGdCakJwWmdCLEVBQUE7O0FpQnlacEI7RUFDRSxnQlgzVDBCO0VXNFQxQixzQ1AxV3FEO0VPMldyRCw4Qlh2WWlCLEVBQUE7RVdvWW5CO0lBTUksZ0JYalVvQjtJV2tVcEIsY1gxWWEsRUFBQTs7QVcrWWpCO0VBQ0UsY0FBYztFQUNkLG9CUHRYcUQ7RU91WHJELGNYbFplLEVBQUE7RVcrWWpCO0lBTUksYVgvU2dCLEVBQWE7O0FXb1RqQztFQUNFLGlDakI1Y3NCO0VpQjZjdEIsY2pCN2NzQjtFaUI4Y3RCLFlBQVksRUFBQTs7QWY1UVo7RWVpUkEsU0FBUyxFQUFBOztBQUlYO0VBQ0UscUNQNVlxRDtFTzhZckQseUJYMWFpQjtFVzJhakIseUJYNWFnQjtFVzhhaEIsNERYN1htRTtFVzhYbkUsZ0JqQnJja0I7RWlCc2NsQixjakIvZHNCLEVBQUE7O0FpQm1leEI7RUFDRSxTQUFTO0VBQ1QsMkJQcFpTO0VPc1pULHlCWHhiZ0I7RVcwYmhCLDREWHpZbUU7RVcwWW5FLGNqQjFlc0IsRUFBQTs7QWtCbUN4QjtFQUNFLGtCWm1JeUI7RVlsSXpCLHFCWm1JNEI7RVlqSTVCLGdCbEJka0I7RWtCZWxCLGdCWjRIc0I7RVkzSHRCLGNaUWUsRUFBQTs7QVlKakI7RUFDRSxlWm9IcUM7RVluSHJDLGdCWm9IaUIsRUFBQTs7QVloSG5CO0VBQ0UsaUJacUhtQjtFWXBIbkIsY0FBYyxFQUFBO0VBRWQ7SUFDRSxpQkFBaUIsRUFBQTs7QUFLckI7RUFDRSxjQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QUM3RFY7RUFDRSxnQkFSZSxFQUFB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QnVKZTtFMkJ0SmYsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixlQUFlO0VBcUNmLHlCakMxSXdCO0VpQzJJeEIsY2pDbkl3QixFQUFBO0VGaTJGeEI7SVMxckZFLFVBQVUsRUFBQTtFMEJsQ1o7SUFDRSx5QjNCb0d1RTtJMkJuR3ZFLGNqQ3ZJc0IsRUFBQTs7QThDeUIxQjtFQUNJLHdCWjlCbUM7RUM4RW5DLGVXL0N3QjtFWGdEeEIsa0JEckVrQyxFQUFBOztBWXdCdEM7RUFDSSxvQlpuQ21DO0VDOEVuQyxlVzFDd0I7RVgyQ3hCLGtCRHJFa0M7RVkyQmxDLGM5Q3pDc0IsRUFBQTs7QThDNEMxQjtFQUNJLGtCQUEyQixFQUFBOztBQUcvQjtFQUNJLG9CWjdDbUM7RVk4Q25DLHdCWjlDbUM7RUM4RW5DLGVXL0J3QjtFWGdDeEIsa0JEckVrQyxFQUFBOztBWXdDdEM7Ozs7RVg0QkksYVd4QnNCO0VYeUJ0QixpQkRyRWtDLEVBQUE7O0FZK0N0QztFQUNJLGM5QzlEc0IsRUFBQTs7QThDaUUxQjtFQUNJLHlCOUNsRXNCO0U4Q21FdEIsYUFBYTtFQUNiLGM5QzVEc0IsRUFBQTs7QThDK0QxQjtFQUNJLGFBQWEsRUFBQTs7QUFHakI7RUFDSSxhQUFhLEVBQUE7O0FDL0VqQjtFQUNJLHlCQUF5QjtFQUN6QixjL0NTc0I7RStDUnRCLDhCL0NBc0I7RStDQ3RCLHlCL0NEc0I7RStDRXRCLDJCYkVtQztFYURuQyxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFWjZFakIsZVk1RXdCO0VaNkV4QixrQkRyRWtDO0VDZ0ZsQyx5QkFBeUIsRUFBQTtFQUN6QjtJWXRGSSw2QkFBcUI7UUFBckIseUJBQXFCO1lBQXJCLHFCQUFxQixFQUFBOztBQUk3QjtFWmZJLGNuQ0NzQjtFbUNBdEIsa0JBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsaUNuQzRCbUM7RW1DM0JuQyxlWVdxQjtFWlZyQixrQkFBZ0M7RUFDaEMsbUJBQWlDO0VBOEQ3Qiw4QkE3RGtDO0VBOERsQyxrQ0E5RGtDO1VBOERsQywwQkE5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OEZoQixpQkFBaUI7VUFDakIsZUFBYyxFQUFBO1V0RThEbEI7WXNFbkZDO2NBd0JLLG1CQUFtQjtjQUNuQixpQkFBaUIsRUFBQSxFQWlCcEI7VUExQ0Y7WUE2Qkssa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsV0FBVztZQUNYLFdBQVc7WUFDWCxZQUFZO1lBQ1osOENBQThDO1lBQzlDLDRCQUE0QjtZQUM1Qix3QkFBd0I7WUFDeEIsaUNBQXlCO2dCQUF6Qiw2QkFBeUI7b0JBQXpCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsV0FBVyxFQUFBO1FBeENoQjtVQTZDRyxlQUFlO1VBQ2YsZ0JBQWdCO1VBQ2hCLGlDbEY3RjZCO1VrRjhGN0IsZUFBZTtVQUNmLGlCQUFpQjtVQUNqQixnQkFBZ0I7VUFDaEIsYUFBYTtVQUNiLHlCQUF5QixFQUFBO1VBcEQ1QjtZQXVESyxjQUFjO1lBQ2QsMEJBQTBCLEVBQUE7VXRFMkJoQztZc0VuRkM7Y0E0REssU0FBUztjQUNULGVBQWUsRUFBQSxFQUVsQjtRQS9ERjtVQW9FSyxpQkFBaUIsRUFBQTtRQXBFdEI7VUF3RUssZ0NBQXdCO2NBQXhCLDRCQUF3QjtrQkFBeEIsd0JBQXdCLEVBQUE7O0FBUXBDO0VBQ0UsWUFBWTtFQUNaLHFCQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtFdEVGWDtJc0VITjtNQU9JLFdBQVcsRUFBQSxFQWFkO0VBVkM7SUFDRSxrQ2xGeElvQztJa0Z5SXBDLGVBQWU7SUFDZixrQkFBa0IsRUFBQTtJdEVWaEI7TXNFT0o7UUFNSSxlQUFlO1FBQ2YsZUFBZSxFQUFBLEVBRWxCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIGRvYyBnZW5lcmF0b3I6IGh0dHA6Ly93YXJwc3BpcmUuY29tL2tzc1xuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCcnluZGFuJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9icnluZGFuX3dyaXRlLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2JyeW5kYW5fd3JpdGUtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOYXR1cmUnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzQ5OTA4MTBfLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzQ5OTA4MTBfLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEyLjUlOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzIwNDQzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxYzNhMmM7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyArIHNwYW4sXG4gICAgLm1lbnUgPiBsaSA+IGEgaSArIHNwYW4sXG4gICAgLm1lbnUgPiBsaSA+IGEgc3ZnICsgc3BhbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51ID4gbGksIC5tZW51Lmhvcml6b250YWwgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAubWVudS5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm1lbnUuc2ltcGxlLmFsaWduLXJpZ2h0IGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmJlZm9yZSwgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWVudS5hbGlnbi1yaWdodCA+IGxpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AudmVydGljYWwgYSA+IHNwYW4ge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjA0NDMzO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51Lm1lbnUtYm9yZGVyZWQgbGkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgICAubWVudS5tZW51LWJvcmRlcmVkIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLm1lbnUubWVudS1ob3ZlciBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG4ubWVudS10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFiM2EyYjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTM2Mjk7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1MjUyO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMDQ0MzM7XG4gICAgY29sb3I6ICMyMDQ0MzM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzEwMjIxYTtcbiAgICAgIGNvbG9yOiAjMTAyMjFhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjA0NDMzO1xuICAgICAgY29sb3I6ICMyMDQ0MzM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMDIyMWE7XG4gICAgICAgIGNvbG9yOiAjMTAyMjFhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY2NjY7XG4gICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyMDQ0MzM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyMDQ0MzM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzY2NjY2NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyoqXG4gKiBjb252ZXJ0aW5nIHB4IHRvIHJlbVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAcGFyYW0gIGludCAgICAgJHZhbHVlICAgICAgICAgc2l6ZSB1bml0cyBweCB3aGl0aG91dCBcInB4XCJcbiAqIEByZXR1cm4gc3RyaW5nICAgICAgICAgICAgICAgICBzaXplIHVuaXRzIHJlbVxuICovXG4vKipcbiAqIGNvbnZlcnRpbmcgcHggdG8gZW1cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICBpbnQgICAgICR2YWx1ZSAgICAgICAgIHNpemUgdW5pdHMgcHggd2hpdGhvdXQgXCJweFwiXG4gKiBAcmV0dXJuIHN0cmluZyAgICAgICAgICAgICAgICAgc2l6ZSB1bml0cyByZW1cbiAqL1xuLyoqXG4gKiBnZXQgUmVtIHNpemVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICBpbnQgICAgICR2YWx1ZSAgICAgICAgICAgICBnZXQgdW5pdFxuICogQHJldHVybiBzdHJpbmcgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuaXQgcHhcbiAqL1xuLyoqXG4gKiBzZXQgdW5pdCB2YWx1ZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAcGFyYW0gIGludCAgICAgJHZhbHVlICAgICAgICAgICAgIGdldCB1bml0XG4gKiBAcmV0dXJuIHN0cmluZyAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5pdCBweFxuICovXG4vKipcbiAqIGNhbGN1bGUgdGhlIHBlcmNlbnRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICBpbnQgICAgICR0YXJnZXQgICAgICAgY2hpbGRcbiAqIEBwYXJhbSAgaW50ICAgICAkY29udGFpbmVyICAgIHBhcmVudFxuICogQHJldHVybiBzdHJpbmcgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcmNlbnRcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQnJ5bmRhbic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYnJ5bmRhbl93cml0ZS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9icnluZGFuX3dyaXRlLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmF0dXJlJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy80OTkwODEwXy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy80OTkwODEwXy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKlxuICogc2V0IHRoZSBzaXplIG9mIGNvbnRhaW5lciAoYW5kIHdvcmtzIGluIHJlc3BvbnNpdmUpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEBwYXJhbSAkcGVyY2VudCAgICAgICAgICAgIC0gMTAwJSBpcyByZWNvbW1hbmRlZFxuICogQHBhcmFtICRtYXhXaWR0aCAgICAgICAgICAgLSBzaXplIG9mIHRoZSBjb250YWluZXIgKHJlbSwgcHgsIGV0YylcbiAqXG4gKiBTdHlsZWd1aWRlIDIuMS4zLlxuICovXG4vKipcbiAqIFNldCB0aGUgdHJhbnNmcm9tIHByb3BlcnR5IGNvcnJlY3RseSBmb3IgSUU5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEBwYXJhbSAkcHJvcGVydHkgICAgICAgICAgIC0gdHJhbnNmb3JtIHByb3BlcnRpZXNcbiAqXG4gKiBTdHlsZWd1aWRlIDIuMS4zLlxuICovXG4vKipcbiAqIERpc3BsYXkgZm9udHNpemUgd2l0aCByZW1cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICRzaXplICAgICAgICAgICAtIHRyYW5zZm9ybSBwcm9wZXJ0aWVzXG4gKlxuICogU3R5bGVndWlkZSAyLjEuMy5cbiAqL1xuLyoqXG4gKiBIb3ZlciBzdGF0ZW1lbnRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICpcbiAqIFN0eWxlZ3VpZGUgMi4xLjMuXG4gKi9cbi8qKlxuICogQWxpZ24gaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAcGFyYW0gJGRpcmVjdGlvbiAgICAgICAgICAgLSBkaXJlY3Rpb25cbiAqXG4gKiBTdHlsZWd1aWRlIDIuMS4zLlxuICovXG4uY29udGVudCA+ICoge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGVudCB1bDpub3QoLmdmb3JtX2ZpZWxkcykge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jb250ZW50IHVsOm5vdCguZ2Zvcm1fZmllbGRzKSBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb250ZW50IHVsOm5vdCguZ2Zvcm1fZmllbGRzKSBsaTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHdpZHRoOiAwLjM3NXJlbTtcbiAgICAgIGhlaWdodDogMC4zNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDMzOyB9XG5cbi5jb250ZW50IG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuY29udGVudCBvbCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50IG9sIGxpOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzZWN0aW9uO1xuICAgIGNvbnRlbnQ6IGNvdW50ZXJzKHNlY3Rpb24sIFwiLVwiKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5jb250ZW50IG9sIHVsIGxpLFxuLmNvbnRlbnQgb2wgb2wgbGksXG4uY29udGVudCB1bCB1bCBsaSxcbi5jb250ZW50IHVsIG9sIGxpIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzVlbTsgfVxuXG4vKiA9V29yZFByZXNzIENvcmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7IH1cblxuLmFsaWduY2VudGVyLFxuZGl2LmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNXB4IGF1dG8gNXB4IGF1dG87IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4OyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7IH1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7IH1cblxuYSBpbWcuYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7IH1cblxuYSBpbWcuYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwOyB9XG5cbmEgaW1nLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLndwLWNhcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBtYXgtd2lkdGg6IDk2JTtcbiAgLyogSW1hZ2UgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYSAqL1xuICBwYWRkaW5nOiA1cHggM3B4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ud3AtY2FwdGlvbi5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDsgfVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDsgfVxuXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7IH1cblxuLndwLWNhcHRpb24gaW1nIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDk4LjUlO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bzsgfVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0cHggNXB4OyB9XG5cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqLyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjM0IzQjNCO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzc3O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICByZXNpemU6IGJvdGg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBjb2xvcjogI2VlZTtcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIC8qIHNwZWNpZnkgd2lkdGggICovXG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgLyogQ1NTMyBicm93c2VycyAgKi9cbiAgd2hpdGUtc3BhY2U6IC1tb3otcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgLyogMTk5OSsgTW96aWxsYSAgKi9cbiAgd2hpdGUtc3BhY2U6IC1wcmUtd3JhcDtcbiAgLyogT3BlcmEgNCB0aHJ1IDYgKi9cbiAgd2hpdGUtc3BhY2U6IC1vLXByZS13cmFwO1xuICAvKiBPcGVyYSA3IGFuZCB1cCAqL1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC8qIElFIDUuNSsgYW5kIHVwICovXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHByZSAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cblxucHJlOjotbW96LXNlbGVjdGlvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogYmxhY2s7IH1cblxucHJlOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IGJsYWNrOyB9XG5cbnByZSAqOjotbW96LXNlbGVjdGlvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogYmxhY2s7IH1cblxucHJlICo6OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogYmxhY2s7IH1cblxucHJlOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4jYnJlYWRjcnVtYnMgc3BhbiBzcGFuIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMyMDQ0MzM7IH1cbiAgI2JyZWFkY3J1bWJzIHNwYW4gc3BhbiAuYnJlYWRjcnVtYl9sYXN0IHtcbiAgICBjb2xvcjogIzZmOTkzMDsgfVxuXG4uaGFtYnVyZ2VyLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMy43NXJlbTtcbiAgaGVpZ2h0OiAzLjc1cmVtO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgb3V0bGluZTogMDsgfVxuICAuaGFtYnVyZ2VyLXJlc3BvbnNpdmUgPiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxcOTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzOyB9XG4gICAgLmhhbWJ1cmdlci1yZXNwb25zaXZlID4gZGl2OjphZnRlciB7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNjI1cmVtKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjYyNXJlbSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNjI1cmVtKVxcOTsgfVxuICAgIC5oYW1idXJnZXItcmVzcG9uc2l2ZSA+IGRpdjo6YmVmb3JlIHtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNjI1cmVtKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC42MjVyZW0pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC42MjVyZW0pXFw5OyB9XG4gICAgLmhhbWJ1cmdlci1yZXNwb25zaXZlID4gZGl2OjphZnRlciwgLmhhbWJ1cmdlci1yZXNwb25zaXZlID4gZGl2OjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMC4xODc1cmVtOyB9XG4gIC5oYW1idXJnZXItcmVzcG9uc2l2ZS5pcy1hY3RpdmUgPiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cbiAgICAuaGFtYnVyZ2VyLXJlc3BvbnNpdmUuaXMtYWN0aXZlID4gZGl2OjphZnRlciB7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKVxcOTsgfVxuICAgIC5oYW1idXJnZXItcmVzcG9uc2l2ZS5pcy1hY3RpdmUgPiBkaXY6OmJlZm9yZSB7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKVxcOTsgfVxuXG4uZGFyay1mb2N1cy1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZGFyay1mb2N1cy1yZXNwb25zaXZlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaXMtb3BlbmVkIC5kYXJrLWZvY3VzLXJlc3BvbnNpdmUge1xuICAgIHotaW5kZXg6IDk1MDtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi53cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbioge1xuICBvdXRsaW5lLWNvbG9yOiAjMjA0NDMzOyB9XG5cbi5mdWxsc2NyZWVuIHtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbi5mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi53b29jb21tZXJjZS1lcnJvciwgLndvb2NvbW1lcmNlLWluZm8sIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jb250ZW50IHVsOm5vdCguZ2Zvcm1fZmllbGRzKSBsaTo6YmVmb3JlIHtcbiAgd2lkdGg6IDA7IH1cblxuLmZpcnN0X2xldHRlcjo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi5sYW5nLXN3aXRjaGVyICo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi5tZW51LXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMjtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5tZW51LXJlc3BvbnNpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuYWRtaW4tYmFyIC5tZW51LXJlc3BvbnNpdmUge1xuICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5hZG1pbi1iYXIgLm1lbnUtcmVzcG9uc2l2ZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjg3NXJlbTsgfSB9XG5cbi5tZW51LXJlc3BvbnNpdmUgPiBkaXYge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSlcXDk7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIuaXMtb3BlbmVkIC5tZW51LXJlc3BvbnNpdmUgPiBkaXYsXG4gIC5tZW51LXJlc3BvbnNpdmUtY29udGFpbmVyLmlzLW9wZW5lZC5yaWdodCAubWVudS1yZXNwb25zaXZlID4gZGl2LFxuICAubWVudS1yZXNwb25zaXZlLWNvbnRhaW5lci5pcy1vcGVuZWQubGVmdCAubWVudS1yZXNwb25zaXZlID4gZGl2IHtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApXFw5OyB9XG5cbi5tZW51LXJlc3BvbnNpdmUtbWVudSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IHVsLFxuICAubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSA+IGxpID4gYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDAuMDYyNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51ID4gdWwgPiBsaSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMyMDQ0MzM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSB1bCB1bCBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDMzO1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtIDEuODc1cmVtOyB9XG4gIC5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSBsaSBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjNmY5OTMwO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuODc1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNXNcXDk7IH1cbiAgICAubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUgbGkgYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IC5zdWItbWVudSBhIHtcbiAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzIwNDQzMztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMC4wNjI1cmVtICMyMDQ0MzM7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IC5zdWItbWVudSA+IGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5tZW51LXdpdGgtYWNjb3JkaW9uIC5tZW51IHVsLnN1Yi1tZW51IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubWVudS13aXRoLWFjY29yZGlvbiAubWVudSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmlzLW9wZW5lZCA+IGE6OmFmdGVyIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpXFw5OyB9XG5cbi5tZW51LXdpdGgtYWNjb3JkaW9uIC5tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5tZW51LXdpdGgtYWNjb3JkaW9uIC5tZW51IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjphZnRlciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29udGVudDogJz4nO1xuICAgIHRvcDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwKVxcOTtcbiAgICByaWdodDogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7IH1cblxuLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIucmlnaHQge1xuICByaWdodDogMDsgfVxuICAubWVudS1yZXNwb25zaXZlLWNvbnRhaW5lci5yaWdodCAubWVudS1yZXNwb25zaXZlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTsgfVxuICAgIC5tZW51LXJlc3BvbnNpdmUtY29udGFpbmVyLnJpZ2h0IC5tZW51LXJlc3BvbnNpdmUgPiBkaXYge1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcXDk7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLSBCYXJyZSBkZSBjb29raWUgLS0tLS0tLS0tLS0tLS0tLS0tLSAgICovXG4uY29va2llIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbi5jb29raWUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzMzMzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmNvb2tpZV9idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgNDBweDsgfVxuXG4uZG93bmFyci5zdHlsZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIGxlZnQ6IDUwJTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXFw5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogNXJlbTtcbiAgb3V0bGluZTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3R0b206IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzOyB9XG4gIC5kb3duYXJyLnN0eWxlZDpob3Zlcjo6YWZ0ZXIsIC5kb3duYXJyLnN0eWxlZDpob3Zlcjo6YmVmb3JlLCAuZG93bmFyci5zdHlsZWQ6YWN0aXZlOjphZnRlciwgLmRvd25hcnIuc3R5bGVkOmFjdGl2ZTo6YmVmb3JlLCAuZG93bmFyci5zdHlsZWQ6Zm9jdXM6OmFmdGVyLCAuZG93bmFyci5zdHlsZWQ6Zm9jdXM6OmJlZm9yZSB7XG4gICAgdG9wOiA3MCU7IH1cbiAgLmRvd25hcnIuc3R5bGVkOjphZnRlciwgLmRvd25hcnIuc3R5bGVkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdG9wOiA2MiU7IH1cbiAgLmRvd25hcnIuc3R5bGVkOjphZnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC01MGRlZylcXDk7IH1cbiAgLmRvd25hcnIuc3R5bGVkOjpiZWZvcmUge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg1MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNTBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg1MGRlZylcXDk7IH1cblxuLnVwYXJyLnN0eWxlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyLjQzNzVyZW07XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBvdXRsaW5lOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvdHRvbTogNTBweDtcbiAgcmlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMDQ0MzM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7IH1cbiAgLnVwYXJyLnN0eWxlZDpob3ZlciwgLnVwYXJyLnN0eWxlZDphY3RpdmUsIC51cGFyci5zdHlsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7IH1cbiAgICAudXBhcnIuc3R5bGVkOmhvdmVyOjphZnRlciwgLnVwYXJyLnN0eWxlZDpob3Zlcjo6YmVmb3JlLCAudXBhcnIuc3R5bGVkOmFjdGl2ZTo6YWZ0ZXIsIC51cGFyci5zdHlsZWQ6YWN0aXZlOjpiZWZvcmUsIC51cGFyci5zdHlsZWQ6Zm9jdXM6OmFmdGVyLCAudXBhcnIuc3R5bGVkOmZvY3VzOjpiZWZvcmUge1xuICAgICAgdG9wOiAyOCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC51cGFyci5zdHlsZWQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuICAudXBhcnIuc3R5bGVkOjphZnRlciwgLnVwYXJyLnN0eWxlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gICAgdG9wOiAzMCU7IH1cbiAgLnVwYXJyLnN0eWxlZDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDUwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNTBkZWcpXFw5OyB9XG4gIC51cGFyci5zdHlsZWQ6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC01MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTUwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTUwZGVnKVxcOTsgfVxuXG4uZ2Zvcm1fYm9keSB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5nZm9ybV9ib2R5IHVsOjpiZWZvcmUsIC5nZm9ybV9ib2R5IHVsOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5nZm9ybV9ib2R5IHVsOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmdmb3JtX3dyYXBwZXIsXG4uZ2Zvcm1fYm9keSB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmdmb3JtX3dyYXBwZXI6OmJlZm9yZSwgLmdmb3JtX3dyYXBwZXI6OmFmdGVyLFxuICAuZ2Zvcm1fYm9keTo6YmVmb3JlLFxuICAuZ2Zvcm1fYm9keTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuZ2Zvcm1fd3JhcHBlcjo6YWZ0ZXIsXG4gIC5nZm9ybV9ib2R5OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIsXG4gICAgLnJvdyAuZ2Zvcm1fd3JhcHBlcixcbiAgICAuZ2Zvcm1fYm9keSxcbiAgICAucm93XG4gICAgLmdmb3JtX2JvZHkge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0uOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLS45Mzc1cmVtOyB9IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3dyYXBwZXIsXG4gIC5yb3cgLmdmb3JtX3dyYXBwZXIsXG4gIC5nZm9ybV9ib2R5IC5nZm9ybV93cmFwcGVyLFxuICAucm93XG4gIC5nZm9ybV9ib2R5LCAuZ2Zvcm1fd3JhcHBlclxuICAuZ2Zvcm1fYm9keSxcbiAgLmdmb3JtX2JvZHlcbiAgLmdmb3JtX2JvZHkge1xuICAgIG1hcmdpbi1sZWZ0OiAtLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0uNjI1cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV93cmFwcGVyLFxuICAucm93IC5nZm9ybV93cmFwcGVyLCAuZ2Zvcm1fd3JhcHBlciAucm93LmV4cGFuZGVkLFxuICAuZ2Zvcm1fYm9keSAuZ2Zvcm1fd3JhcHBlcixcbiAgLnJvd1xuICAuZ2Zvcm1fYm9keSxcbiAgLmdmb3JtX2JvZHkgLnJvdy5leHBhbmRlZCwgLmdmb3JtX3dyYXBwZXJcbiAgLmdmb3JtX2JvZHksXG4gIC5nZm9ybV9ib2R5XG4gIC5nZm9ybV9ib2R5IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgPiBmb3JtLFxuLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyID4gZm9ybSxcbiAgICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2Zvcm1fd3JhcHBlciA+IGZvcm06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLmdmb3JtX3BhZ2VfZm9vdGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uZnBfZ2Zvcm1fbGFyZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZwX2dmb3JtX2xhcmdlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmZwX2dmb3JtX2xhcmdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uZnBfZ2Zvcm1fbWVkaXVtIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZwX2dmb3JtX21lZGl1bSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mcF9nZm9ybV9tZWRpdW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mcF9nZm9ybV9zbWFsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mcF9nZm9ybV9zbWFsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5mcF9nZm9ybV9zbWFsbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZm9ybV93cmFwcGVyIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFiM2EyYjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZ2ZpZWxkIGxhYmVsIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuXG4uZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBjb2xvcjogIzIwNDQzMzsgfVxuXG4uZ2Zvcm1fZmllbGRzID4gbGk6bm90KC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lcikge1xuICBtYXJnaW46IDEuODc1cmVtIDA7IH1cblxuLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSxcbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8yLFxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyICosXG4uZ2ZfcHJvZ3Jlc3NiYXJfdGl0bGUge1xuICBmb250LXNpemU6IDIwO1xuICBmb250LXNpemU6IDEuMjVlbTsgfVxuXG4uZ2Zvcm1fdGl0bGUge1xuICBjb2xvcjogIzIwNDQzMzsgfVxuXG4uZ2ZfcHJvZ3Jlc3NiYXJfcGVyY2VudGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mcF9nZm9ybV9ob25leXBvdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdmb3JtX2Rlc2NyaXB0aW9uOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnksIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogc29saWQgMC4xMjVyZW0gIzIwNDQzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgcGFkZGluZzogMC42MjVyZW0gMS41NjI1cmVtO1xuICB0cmFuc2l0aW9uOiAwLjRzO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7IH1cbiAgLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246YWN0aXZlLCAuYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmZvY3VzIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuLmJyYWNrZXQge1xuICBjb2xvcjogIzZmOTkzMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogXCJOYXR1cmVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOS41ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkuNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOS41ZGVnKVxcOTsgfVxuICAuYnJhY2tldDo6YWZ0ZXIsIC5icmFja2V0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogLTM2JTtcbiAgICBoZWlnaHQ6IDE1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5icmFja2V0OjphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JyYWNrZXQtb3V0LnN2Z1wiKTsgfVxuICAuYnJhY2tldDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9icmFja2V0LWluLnN2Z1wiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAuYnJhY2tldCB7XG4gICAgICBjb2xvcjogIzZmOTkzMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1mYW1pbHk6IFwiTmF0dXJlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05LjVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkuNWRlZyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkuNWRlZylcXDk7IH1cbiAgICAgIC5icmFja2V0OjphZnRlciwgLmJyYWNrZXQ6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAtMzYlO1xuICAgICAgICBoZWlnaHQ6IDE1MCU7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgLmJyYWNrZXQ6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9icmFja2V0LW91dC5zdmdcIik7IH1cbiAgICAgIC5icmFja2V0OjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYnJhY2tldC1pbi5zdmdcIik7IH0gfVxuXG4uZm91cm9mb3VyIHtcbiAgbWFyZ2luLXRvcDogOTBweDtcbiAgbWFyZ2luLWJvdHRvbTogOTBweDsgfVxuICAuZm91cm9mb3VyX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5mb3Vyb2ZvdXJfX2NvbnRhaW5lciBpbWcsXG4gICAgLmZvdXJvZm91cl9fY29udGFpbmVyIHN2ZyB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIC5mb3Vyb2ZvdXJfX2NvbnRhaW5lciBpbWcgLmFpZ3VpbGxlLFxuICAgICAgLmZvdXJvZm91cl9fY29udGFpbmVyIHN2ZyAuYWlndWlsbGUge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3MnB4IDI1cHg7XG4gICAgICAgIGFuaW1hdGlvbjogc3BpbjEgM3MgY3ViaWMtYmV6aWVyKDAuOTQsIDAuMSwgMC42LCAxLjA1KSBpbmZpbml0ZTsgfVxuICAgIC5mb3Vyb2ZvdXJfX2NvbnRhaW5lciBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgei1pbmRleDogNDsgfVxuICAgIC5mb3Vyb2ZvdXJfX2NvbnRhaW5lciBhIHtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzIwNDQzMztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogIzIwNDQzMztcbiAgICAgIG1heC13aWR0aDogMjI3cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mb3Vyb2ZvdXJfX2NvbnRhaW5lciBhOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDFzIGVhc2UgYWxsO1xuICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLmZvdXJvZm91cl9fY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgLmZvdXJvZm91cl9fY29udGFpbmVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAxcyBlYXNlIGFsbDsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4xIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH0gfVxuXG4ubmV4dF9wcmV2X2J1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubmV4dF9wcmV2X2J1dHRvbnMgLnByZXZfYnV0dG9uIHN2ZyBwYXRoLFxuICAubmV4dF9wcmV2X2J1dHRvbnMgLm5leHRfYnV0dG9uIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiAjMjA0NDMzOyB9XG4gIC5uZXh0X3ByZXZfYnV0dG9ucyAubmV4dF9idXR0b24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG5cbi5uYXZfY2F0ZWdvcnkgPiB1bCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLm5hdl9jYXRlZ29yeSA+IHVsIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgIGNvbG9yOiAjZjIzZTY4OyB9XG4gICAgICAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaTpsYXN0LWNoaWxkIGE6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyM2U2ODsgfVxuICAgIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyeW5kYW5cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG1hcmdpbjogMCA1MHB4IDAuODc1cmVtIDUwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMC42MjVyZW0gMS44NzVyZW07IH0gfVxuICAgICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDMzOyB9XG4gICAgICAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGEuaXMtYWN0aXZlLCAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGE6YWN0aXZlLCAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGE6Zm9jdXMsIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNmY5OTM1OyB9XG4gICAgICAgIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gYS5pcy1hY3RpdmU6OmFmdGVyLCAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGE6YWN0aXZlOjphZnRlciwgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiBhOmZvY3VzOjphZnRlciwgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY5OTM1OyB9XG4gICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhLCAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBjb2xvcjogIzZmOTkzNTsgfVxuICAgICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhOjphZnRlciwgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkuY3VycmVudC1tZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzU7IH1cbiAgICAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IHVsLnN1Yi1tZW51LCAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gdWwuc3ViLW1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMTVweCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB3aWR0aDogMTA1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3R0b206IC01cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiB1bC5zdWItbWVudSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyN3B4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAgICAgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiB1bC5zdWItbWVudSA+IGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHg7IH0gfVxuICAgICAgICAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IHVsLnN1Yi1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhLCAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IHVsLnN1Yi1tZW51ID4gbGk6YWN0aXZlID4gYSwgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiB1bC5zdWItbWVudSA+IGxpOmZvY3VzID4gYSwgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiB1bC5zdWItbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZmOTkzNTtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBwYWRkaW5nOiA2cHggMTVweCAhaW1wb3J0YW50OyB9XG4gICAgICAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IHVsLnN1Yi1tZW51ID4gbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjNmY5OTM1O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC40cztcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZmOTkzNTtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHggIWltcG9ydGFudDsgfVxuXG4ubGlzdC1yZWNldHRlcyAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGE6bGFzdC1jaGlsZCB7XG4gIGNvbG9yOiAjMjA0NDMzOyB9XG4gIC5saXN0LXJlY2V0dGVzIC5uYXZfY2F0ZWdvcnkgPiB1bCA+IGxpID4gYTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMzsgfVxuICAubGlzdC1yZWNldHRlcyAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGE6bGFzdC1jaGlsZDpob3ZlciwgLmxpc3QtcmVjZXR0ZXMgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiBhOmxhc3QtY2hpbGQuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogIzZmOTkzNSAhaW1wb3J0YW50OyB9XG4gICAgLmxpc3QtcmVjZXR0ZXMgLm5hdl9jYXRlZ29yeSA+IHVsID4gbGkgPiBhOmxhc3QtY2hpbGQ6aG92ZXI6OmFmdGVyLCAubGlzdC1yZWNldHRlcyAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGE6bGFzdC1jaGlsZC5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzU7IH1cblxuLm1lbnVfY2F0X3Byb2QgPiAubmF2X2NhdGVnb3J5ID4gdWwgPiBsaSA+IGEge1xuICBtYXJnaW46IDAgMzBweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDAgMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zdWItY2F0ZWdvcnktbWVudSAubGluZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGRkZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zdWItY2F0ZWdvcnktbWVudSAubGluZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXItY2F0ZWdvcnktc2hvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC5iYWNrZ3JvdW5kLWxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZmNjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC5iYWNrZ3JvdW5kLWxlZnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC5iYWNrZ3JvdW5kLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICByaWdodDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogNDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLmJhY2tncm91bmQtcmlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDsgfSB9XG4gIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLWxlZnQge1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLWxlZnQgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODIuNWVtKSB7XG4gICAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLWxlZnQgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIC03MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLWxlZnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC5jb250YWluZXItd3JhcC1ibG9jLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiA0M3B4OyB9XG4gIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDIuMTg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0b3A6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQge1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtOyB9IH1cbiAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodC0taW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7IH1cbiAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodCB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDByZW0gMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgZmxleDogNTAlOyB9XG4gICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgLnNhbnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgY29sb3I6ICM2Zjk5MzA7XG4gICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbGlzdC5wbmdcIik7XG4gICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgLnNhbnM6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgLnNhbnM6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC5zYW5zOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDsgfVxuICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC50YW1wb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgLnRhbXBvbiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC50YW1wb24tLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIG1heC13aWR0aDogOTBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodCAudGFtcG9uLS1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTsgfSB9XG4gICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQtLXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodC0tdHh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodC0tYm9yZGVyIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC53cmFwLXRhbXBvbi1wcm9jZXNzdXMge1xuICAgICAgZmxleDogMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC53cmFwLXRhbXBvbi1wcm9jZXNzdXNfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC53cmFwLXRhbXBvbi1wcm9jZXNzdXNfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodCAud3JhcC1idXR0b25zLXByb2Nlc3N1cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIuMDYyNWVtKSB7XG4gICAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC53cmFwLWJ1dHRvbnMtcHJvY2Vzc3VzIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodCAud3JhcC1idXR0b25zLXByb2Nlc3N1cyB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgLmJ1dHRvbi1wcm9jZXNzdXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDIzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjNmY5OTMwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZmOTkzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZWFkZXItY2F0ZWdvcnktc2hvcCAud3JhcC1ibG9jLXJpZ2h0IC5idXR0b24tcHJvY2Vzc3VzIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgICAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodCAuYnV0dG9uLXByb2Nlc3N1czpob3ZlciwgLmhlYWRlci1jYXRlZ29yeS1zaG9wIC53cmFwLWJsb2MtcmlnaHQgLmJ1dHRvbi1wcm9jZXNzdXM6YWN0aXZlLCAuaGVhZGVyLWNhdGVnb3J5LXNob3AgLndyYXAtYmxvYy1yaWdodCAuYnV0dG9uLXByb2Nlc3N1czpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5teS1jYXRlZ29yeS1wcm9kdWN0LFxuLnByb2R1Y3RzLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jYXRlZ29yeS1wcm9kdWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfVxuXG4uY3Jvc3Mtc2VsbHMgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni44NzVlbSkge1xuICAgIC5jcm9zcy1zZWxscyB1bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNyb3NzLXNlbGxzIHVsIDpudGgtY2hpbGQobis0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY3Jvc3Mtc2VsbHMgdWwgOm50aC1jaGlsZChuKzQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY3Jvc3Mtc2VsbHMgdWwgOm50aC1jaGlsZChuKzUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLmNyb3NzLXNlbGxzIHVsIGxpIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDEuNSUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHggIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2Ljg3NWVtKSB7XG4gICAgICAuY3Jvc3Mtc2VsbHMgdWwgbGkge1xuICAgICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5jcm9zcy1zZWxscyB1bCBsaSBhIGltZyB7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiAyMjBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLm15LWNhdGVnb3J5LXByb2R1Y3QsXG4gIC5wcm9kdWN0cy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCA0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5teS1jYXRlZ29yeS1wcm9kdWN0LFxuICAucHJvZHVjdHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4ubXktY2F0ZWdvcnktcHJvZHVjdCB1bCxcbi5wcm9kdWN0cy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAubXktY2F0ZWdvcnktcHJvZHVjdCB1bCxcbiAgICAucHJvZHVjdHMtY29udGFpbmVyIHVsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubXktY2F0ZWdvcnktcHJvZHVjdCB1bCxcbiAgICAucHJvZHVjdHMtY29udGFpbmVyIHVsIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsIDpudGgtY2hpbGQobis0KSxcbiAgICAucHJvZHVjdHMtY29udGFpbmVyIHVsIDpudGgtY2hpbGQobis0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubXktY2F0ZWdvcnktcHJvZHVjdCB1bCA6bnRoLWNoaWxkKG4rNCksXG4gICAgLnByb2R1Y3RzLWNvbnRhaW5lciB1bCA6bnRoLWNoaWxkKG4rNCkge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsIDpudGgtY2hpbGQobis1KSxcbiAgICAucHJvZHVjdHMtY29udGFpbmVyIHVsIDpudGgtY2hpbGQobis1KSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsOjphZnRlcixcbiAgLnByb2R1Y3RzLWNvbnRhaW5lciB1bDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubXktY2F0ZWdvcnktcHJvZHVjdCB1bDo6YWZ0ZXIsXG4gICAgICAucHJvZHVjdHMtY29udGFpbmVyIHVsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsOjpiZWZvcmUsXG4gICAgLnByb2R1Y3RzLWNvbnRhaW5lciB1bDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuXG4uY3Jvc3Mtc2VsbHMgLnByb2R1Y3QgYSxcbi5teS1jYXRlZ29yeS1wcm9kdWN0IC5wcm9kdWN0IGEsXG4ucHJvZHVjdHMtY29udGFpbmVyIC5wcm9kdWN0IGEge1xuICBmb250LWZhbWlseTogXCJOYXR1cmVcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNyb3NzLXNlbGxzIC5wcm9kdWN0IGE6bnRoLWNoaWxkKDIpLFxuICAubXktY2F0ZWdvcnktcHJvZHVjdCAucHJvZHVjdCBhOm50aC1jaGlsZCgyKSxcbiAgLnByb2R1Y3RzLWNvbnRhaW5lciAucHJvZHVjdCBhOm50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwIDAgIWltcG9ydGFudDsgfVxuXG4uY3Jvc3Mtc2VsbHMgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fbGluayxcbi5teS1jYXRlZ29yeS1wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2xpbmssXG4ucHJvZHVjdHMtY29udGFpbmVyIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNyb3NzLXNlbGxzIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2xpbmsuanMtaXMtaG92ZXIgLnNpemUtd29vY29tbWVyY2VfdGh1bWJuYWlsLFxuICAubXktY2F0ZWdvcnktcHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19saW5rLmpzLWlzLWhvdmVyIC5zaXplLXdvb2NvbW1lcmNlX3RodW1ibmFpbCxcbiAgLnByb2R1Y3RzLWNvbnRhaW5lciAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19saW5rLmpzLWlzLWhvdmVyIC5zaXplLXdvb2NvbW1lcmNlX3RodW1ibmFpbCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3Jvc3Mtc2VsbHMgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fbGluay5qcy1pcy1ob3ZlciAuaW1hZ2UtcHJvZHVjdF9faG92ZXIsXG4gIC5teS1jYXRlZ29yeS1wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2xpbmsuanMtaXMtaG92ZXIgLmltYWdlLXByb2R1Y3RfX2hvdmVyLFxuICAucHJvZHVjdHMtY29udGFpbmVyIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2xpbmsuanMtaXMtaG92ZXIgLmltYWdlLXByb2R1Y3RfX2hvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jcm9zcy1zZWxscyAuc2l6ZS13b29jb21tZXJjZV90aHVtYm5haWwsXG4ubXktY2F0ZWdvcnktcHJvZHVjdCAuc2l6ZS13b29jb21tZXJjZV90aHVtYm5haWwsXG4ucHJvZHVjdHMtY29udGFpbmVyIC5zaXplLXdvb2NvbW1lcmNlX3RodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbi1vdXQgMC4zczsgfVxuXG4uY3Jvc3Mtc2VsbHMgLmltYWdlLXByb2R1Y3RfX2hvdmVyLFxuLm15LWNhdGVnb3J5LXByb2R1Y3QgLmltYWdlLXByb2R1Y3RfX2hvdmVyLFxuLnByb2R1Y3RzLWNvbnRhaW5lciAuaW1hZ2UtcHJvZHVjdF9faG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluLW91dCAwLjNzOyB9XG5cbi5jcm9zcy1zZWxscyAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlcixcbi5teS1jYXRlZ29yeS1wcm9kdWN0IC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLFxuLnByb2R1Y3RzLWNvbnRhaW5lciAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjYsIDIzNSwgMjQyLCAwLjY4KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V5ZXMucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuMyBlYXNlOyB9XG4gIC5jcm9zcy1zZWxscyAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlcjpob3ZlcixcbiAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXI6aG92ZXIsXG4gIC5wcm9kdWN0cy1jb250YWluZXIgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zIGVhc2U7IH1cblxuLmNyb3NzLXNlbGxzIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlLFxuLm15LWNhdGVnb3J5LXByb2R1Y3QgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXItcHVyY2hhc2FibGUsXG4ucHJvZHVjdHMtY29udGFpbmVyIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNiwgMjM1LCAyNDIsIDAuNjgpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuMyBlYXNlOyB9XG4gIC5jcm9zcy1zZWxscyAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlci1wdXJjaGFzYWJsZSAud3JhcGVyLFxuICAubXktY2F0ZWdvcnktcHJvZHVjdCAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlci1wdXJjaGFzYWJsZSAud3JhcGVyLFxuICAucHJvZHVjdHMtY29udGFpbmVyIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlIC53cmFwZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgICAuY3Jvc3Mtc2VsbHMgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXItcHVyY2hhc2FibGUgLndyYXBlciBpbWcsXG4gICAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXItcHVyY2hhc2FibGUgLndyYXBlciBpbWcsXG4gICAgLnByb2R1Y3RzLWNvbnRhaW5lciAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlci1wdXJjaGFzYWJsZSAud3JhcGVyIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcm9zcy1zZWxscyAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlci1wdXJjaGFzYWJsZSAud3JhcGVyIGltZzpudGgtY2hpbGQoMSksXG4gICAgICAubXktY2F0ZWdvcnktcHJvZHVjdCAucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X19ob3Zlci1wdXJjaGFzYWJsZSAud3JhcGVyIGltZzpudGgtY2hpbGQoMSksXG4gICAgICAucHJvZHVjdHMtY29udGFpbmVyIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlIC53cmFwZXIgaW1nOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHggIWltcG9ydGFudDsgfVxuICAgICAgLmNyb3NzLXNlbGxzIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlIC53cmFwZXIgaW1nOm50aC1jaGlsZCgyKSxcbiAgICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlIC53cmFwZXIgaW1nOm50aC1jaGlsZCgyKSxcbiAgICAgIC5wcm9kdWN0cy1jb250YWluZXIgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXItcHVyY2hhc2FibGUgLndyYXBlciBpbWc6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAuY3Jvc3Mtc2VsbHMgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXItcHVyY2hhc2FibGU6aG92ZXIsXG4gIC5teS1jYXRlZ29yeS1wcm9kdWN0IC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlOmhvdmVyLFxuICAucHJvZHVjdHMtY29udGFpbmVyIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyLXB1cmNoYXNhYmxlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMyBlYXNlOyB9XG5cbi53b29jb21tZXJjZSB1bC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4ud29vY29tbWVyY2UtcGFnZSB1bC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4uY3Jvc3Mtc2VsbHMgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDUlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMjBweCAxLjUlO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud29vY29tbWVyY2UgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIHVsLm15LWNhdGVnb3J5LXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCxcbiAgICAuY3Jvc3Mtc2VsbHMgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICAgIHdpZHRoOiAzMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCAxLjUlO1xuICAgICAgcGFkZGluZzogMTBweCAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC53b29jb21tZXJjZSB1bC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuICAgIC5jcm9zcy1zZWxscyB1bC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgICAgd2lkdGg6IDIyJSAhaW1wb3J0YW50OyB9IH1cbiAgLndvb2NvbW1lcmNlIHVsLm15LWNhdGVnb3J5LXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBhIGltZyxcbiAgLndvb2NvbW1lcmNlLXBhZ2UgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEgaW1nLFxuICAuY3Jvc3Mtc2VsbHMgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGEgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2UgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgyLFxuICAud29vY29tbWVyY2UtcGFnZSB1bC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDIsXG4gIC5jcm9zcy1zZWxscyB1bC5teS1jYXRlZ29yeS1wcm9kdWN0IHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ud29vY29tbWVyY2UgbGkucHJvZHVjdCxcbi53b29jb21tZXJjZS1wYWdlIGxpLnByb2R1Y3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAzMy4zMyU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tZW51LWNhdGVnb3J5LXNob3AtbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAubWVudS1jYXRlZ29yeS1zaG9wLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyeW5kYW5cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMCAwLjYyNXJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLm1lbnUtY2F0ZWdvcnktc2hvcC1tb2JpbGUgLmFycm93IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5tZW51LWNhdGVnb3J5LXNob3AtbW9iaWxlIC5hcnJvdyBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjI4MTI1ZW07XG4gICAgICBsZWZ0OiAwLjkzNzVlbTtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmlsbDogIzMzMzMzMzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC5tZW51LWNhdGVnb3J5LXNob3AtbW9iaWxlIC5yb3RhdGUgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAubmF2X2NhdGVnb3J5LW1vYmlsZS1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wcm9jZXNzdXMtYmcge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB6LWluZGV4OiA5OTk4OyB9XG4gIC5wcm9jZXNzdXMtYmcuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJvY2Vzc3VzLXdyYXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5wcm9jZXNzdXMtd3JhcC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcm9jZXNzdXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdG9wOiA1MHB4O1xuICBsZWZ0OiAwOyB9XG4gIC5wcm9jZXNzdXMtY29udGFpbmVyIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgcmlnaHQ6IDU1cHg7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnByb2Nlc3N1cy1jb250YWluZXIgLmNsb3NlIGltZyB7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB3aWR0aDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLnByb2Nlc3N1cy1jb250YWluZXIgLmNsb3NlIHtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICByaWdodDogMTVweDsgfSB9XG4gICAgLnByb2Nlc3N1cy1jb250YWluZXIgLmNsb3NlLmlzLWhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvY2Vzc3VzLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgei1pbmRleDogMTAwMDE7XG4gIG1heC13aWR0aDogNzUlO1xuICBwYWRkaW5nOiAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAucHJvY2Vzc3VzLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNTBweDsgfSB9XG5cbi53cmFwLWJ1dHRvbi1jb2xvcmlhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIuMDYyNWVtKSB7XG4gICAgLndyYXAtYnV0dG9uLWNvbG9yaWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndyYXAtYnV0dG9uLWNvbG9yaWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAud3JhcC1idXR0b24tY29sb3JpYWdlOmhvdmVyIC53cmFwLWJ1dHRvbi1jb2xvcmlhZ2VfX2ltYWdlIHtcbiAgICBib3R0b206IDA7IH1cblxuLndyYXAtYnV0dG9uLWNvbG9yaWFnZV9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1vdXQgMC4yczsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndyYXAtYnV0dG9uLWNvbG9yaWFnZV9faW1hZ2Uge1xuICAgICAgYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjYuMjVlbSkge1xuICAgIC53cmFwLWJ1dHRvbi1jb2xvcmlhZ2VfX2ltYWdlIHtcbiAgICAgIGJvdHRvbTogLTEwcHg7IH0gfVxuXG4uYnV0dG9uLWNvbG9yaWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDIzMHB4O1xuICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMjM0NzQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMjM0NzQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzOyB9XG4gIC5idXR0b24tY29sb3JpYWdlOmhvdmVyIHtcbiAgICBjb2xvcjogI2UyMzQ3NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jcm9zcy1zZWxscyAudmFyaWF0aW9ucyxcbi5teS1jYXRlZ29yeS1wcm9kdWN0IC52YXJpYXRpb25zLFxuLnByb2R1Y3RzLWNvbnRhaW5lciAudmFyaWF0aW9ucyB7XG4gIG1hcmdpbjogNXB4IGF1dG8gMCBhdXRvOyB9XG4gIC5jcm9zcy1zZWxscyAudmFyaWF0aW9ucyB0Ym9keSxcbiAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLnZhcmlhdGlvbnMgdGJvZHksXG4gIC5wcm9kdWN0cy1jb250YWluZXIgLnZhcmlhdGlvbnMgdGJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcm9zcy1zZWxscyAudmFyaWF0aW9ucyB0Ym9keSxcbiAgICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IC52YXJpYXRpb25zIHRib2R5LFxuICAgICAgLnByb2R1Y3RzLWNvbnRhaW5lciAudmFyaWF0aW9ucyB0Ym9keSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmNyb3NzLXNlbGxzIC52YXJpYXRpb25zIHRyOm50aC1jaGlsZCgxKSxcbiAgICAubXktY2F0ZWdvcnktcHJvZHVjdCAudmFyaWF0aW9ucyB0cjpudGgtY2hpbGQoMSksXG4gICAgLnByb2R1Y3RzLWNvbnRhaW5lciAudmFyaWF0aW9ucyB0cjpudGgtY2hpbGQoMSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgLmNyb3NzLXNlbGxzIC52YXJpYXRpb25zIHRyOm50aC1jaGlsZCgyKSxcbiAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLnZhcmlhdGlvbnMgdHI6bnRoLWNoaWxkKDIpLFxuICAucHJvZHVjdHMtY29udGFpbmVyIC52YXJpYXRpb25zIHRyOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3Jvc3Mtc2VsbHMgLnZhcmlhdGlvbnMgdHI6bnRoLWNoaWxkKDIpLFxuICAgICAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLnZhcmlhdGlvbnMgdHI6bnRoLWNoaWxkKDIpLFxuICAgICAgLnByb2R1Y3RzLWNvbnRhaW5lciAudmFyaWF0aW9ucyB0cjpudGgtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNyb3NzLXNlbGxzIC52YXJpYXRpb25zIC5sYWJlbCxcbiAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLnZhcmlhdGlvbnMgLmxhYmVsLFxuICAucHJvZHVjdHMtY29udGFpbmVyIC52YXJpYXRpb25zIC5sYWJlbCB7XG4gICAgd2lkdGg6IDI3JTsgfSB9XG5cbi5jcm9zcy1zZWxscyAudmFyaWF0aW9ucyAubGFiZWwgbGFiZWwsXG4ubXktY2F0ZWdvcnktcHJvZHVjdCAudmFyaWF0aW9ucyAubGFiZWwgbGFiZWwsXG4ucHJvZHVjdHMtY29udGFpbmVyIC52YXJpYXRpb25zIC5sYWJlbCBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5jcm9zcy1zZWxscyAudmFyaWF0aW9ucyAudmFsdWUgc2VsZWN0LFxuLm15LWNhdGVnb3J5LXByb2R1Y3QgLnZhcmlhdGlvbnMgLnZhbHVlIHNlbGVjdCxcbi5wcm9kdWN0cy1jb250YWluZXIgLnZhcmlhdGlvbnMgLnZhbHVlIHNlbGVjdCB7XG4gIGhlaWdodDogMzVweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0cHggMjRweCA0cHggOHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4uY3Jvc3Mtc2VsbHMgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCxcbi5teS1jYXRlZ29yeS1wcm9kdWN0IC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQsXG4ucHJvZHVjdHMtY29udGFpbmVyIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNyb3NzLXNlbGxzIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5LFxuICAubXktY2F0ZWdvcnktcHJvZHVjdCAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5xdWFudGl0eSxcbiAgLnByb2R1Y3RzLWNvbnRhaW5lciAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5xdWFudGl0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxOyB9XG4gICAgLmNyb3NzLXNlbGxzIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5IC5xdWFudGl0eS1uYXYsXG4gICAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAucXVhbnRpdHkgLnF1YW50aXR5LW5hdixcbiAgICAucHJvZHVjdHMtY29udGFpbmVyIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5IC5xdWFudGl0eS1uYXYge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuY3Jvc3Mtc2VsbHMgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAucXVhbnRpdHkgLnF1YW50aXR5LW5hdiAucXVhbnRpdHktZG93bixcbiAgICAgIC5jcm9zcy1zZWxscyAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5xdWFudGl0eSAucXVhbnRpdHktbmF2IC5xdWFudGl0eS11cCxcbiAgICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5IC5xdWFudGl0eS1uYXYgLnF1YW50aXR5LWRvd24sXG4gICAgICAubXktY2F0ZWdvcnktcHJvZHVjdCAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5xdWFudGl0eSAucXVhbnRpdHktbmF2IC5xdWFudGl0eS11cCxcbiAgICAgIC5wcm9kdWN0cy1jb250YWluZXIgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAucXVhbnRpdHkgLnF1YW50aXR5LW5hdiAucXVhbnRpdHktZG93bixcbiAgICAgIC5wcm9kdWN0cy1jb250YWluZXIgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAucXVhbnRpdHkgLnF1YW50aXR5LW5hdiAucXVhbnRpdHktdXAge1xuICAgICAgICBoZWlnaHQ6IDQ5JTsgfVxuICAgICAgLmNyb3NzLXNlbGxzIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5IC5xdWFudGl0eS1uYXYgLnF1YW50aXR5LWRvd24sXG4gICAgICAubXktY2F0ZWdvcnktcHJvZHVjdCAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5xdWFudGl0eSAucXVhbnRpdHktbmF2IC5xdWFudGl0eS1kb3duLFxuICAgICAgLnByb2R1Y3RzLWNvbnRhaW5lciAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5xdWFudGl0eSAucXVhbnRpdHktbmF2IC5xdWFudGl0eS1kb3duIHtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgLmNyb3NzLXNlbGxzIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5IC5xdHksXG4gICAgLm15LWNhdGVnb3J5LXByb2R1Y3QgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAucXVhbnRpdHkgLnF0eSxcbiAgICAucHJvZHVjdHMtY29udGFpbmVyIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLnF1YW50aXR5IC5xdHkge1xuICAgICAgcGFkZGluZzogMC4zNTBlbTsgfVxuICAuY3Jvc3Mtc2VsbHMgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAuYnV0dG9uLFxuICAubXktY2F0ZWdvcnktcHJvZHVjdCAud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IC5idXR0b24sXG4gIC5wcm9kdWN0cy1jb250YWluZXIgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAuYnV0dG9uIHtcbiAgICBmbGV4OiA0O1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjUxOGVtIDVweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNyb3NzLXNlbGxzIC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLmJ1dHRvbixcbiAgICAgIC5teS1jYXRlZ29yeS1wcm9kdWN0IC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQgLmJ1dHRvbixcbiAgICAgIC5wcm9kdWN0cy1jb250YWluZXIgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMzsgfSB9XG5cbi5jcm9zcy1zZWxscyAud29vY29tbWVyY2UtdmFyaWF0aW9uLFxuLm15LWNhdGVnb3J5LXByb2R1Y3QgLndvb2NvbW1lcmNlLXZhcmlhdGlvbixcbi5wcm9kdWN0cy1jb250YWluZXIgLndvb2NvbW1lcmNlLXZhcmlhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY3Jvc3Mtc2VsbHMgLnNpbmdsZV92YXJpYXRpb25fd3JhcCxcbi5teS1jYXRlZ29yeS1wcm9kdWN0IC5zaW5nbGVfdmFyaWF0aW9uX3dyYXAsXG4ucHJvZHVjdHMtY29udGFpbmVyIC5zaW5nbGVfdmFyaWF0aW9uX3dyYXAge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2luZ2xlUHJvZHVjdENvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNpbmdsZVByb2R1Y3RDb250YWluZXIge1xuICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2luZ2xlUHJvZHVjdENvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNpbmdsZVByb2R1Y3RDb250YWluZXIgLnN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2luZ2xlUHJvZHVjdENvbnRhaW5lciAuc3VtbWFyeSAucHJvZHVjdF9tZXRhIHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNpbmdsZVByb2R1Y3RDb250YWluZXIgLnN1bW1hcnkgLnByb2R1Y3RfdGl0bGUge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2luZ2xlUHJvZHVjdENvbnRhaW5lciAuc3VtbWFyeSAudmFyaWF0aW9uc19mb3JtIHtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDFyZW0gMCAhaW1wb3J0YW50OyB9IH1cblxuLnNpbmdsZVByb2R1Y3QtLWJpZ1R4dCB7XG4gIGZvbnQtc2l6ZTogMTQ7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgcGFkZGluZzogMjBweDsgfVxuICAuc2luZ2xlUHJvZHVjdC0tYmlnVHh0IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuc2luZ2xlUHJvZHVjdC0tYmlnVHh0IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNpbmdsZVByb2R1Y3QtLW51dHJpdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTQ7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgcGFkZGluZzogMjBweDsgfVxuXG4uc2luZ2xlUHJvZHVjdC0tcmVjZXR0ZS0tcmVsYXRlZC0tY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2luZ2xlUHJvZHVjdC0tcmVjZXR0ZS0tcmVsYXRlZC0tY29udGVudC0taW1nIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpbmdsZVByb2R1Y3QtLXJlY2V0dGUtLXJlbGF0ZWQtLWNvbnRlbnQtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5zaW5nbGVQcm9kdWN0LS1yZWNldHRlLS1yZWxhdGVkLS1jb250ZW50LS10aXRsZSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7IH0gfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpLmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZmOTkzMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfdGl0bGUge1xuICBmb250LWZhbWlseTogXCJOYXR1cmVcIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzNXB4OyB9IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyB0ZC5sYWJlbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIHtcbiAgbWFyZ2luLXRvcDogLTAuNWVtOyB9XG5cbi5wcmljZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbiAgZm9udC1zaXplOiAxLjI1ZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuXG4ucHJpY2VfZnJvbSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wb3N0ZWRfaW4ge1xuICBmb250LWZhbWlseTogXCJOYXR1cmVcIiwgc2Fucy1zZXJpZjsgfVxuICAucG9zdGVkX2luIGEge1xuICAgIGZvbnQtc2l6ZTogMjU7XG4gICAgZm9udC1zaXplOiAxLjU2MjVlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBvc3RlZF9pbiBhIHtcbiAgICAgICAgZm9udC1zaXplOiA0MDtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTsgfSB9XG5cbmEucG9zdGVkX2luIHtcbiAgZm9udC1mYW1pbHk6IFwiTmF0dXJlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTk7XG4gIGZvbnQtc2l6ZTogMS4xODc1ZW07IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEsXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzIwNDQzMzsgfVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgLmJyZWFkY3J1bWItaXRlbTpsYXN0LWNoaWxkIHtcbiAgY29sb3I6ICM2Zjk5MzA7IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAuYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMTdweCAyOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDFlbTsgfSB9XG5cbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbi5hbHQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDE0O1xuICBmb250LXNpemU6IDAuODc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24uYnV0dG9uLmFsdCB7XG4gICAgICBmb250LXNpemU6IDI2O1xuICAgICAgZm9udC1zaXplOiAxLjYyNWVtO1xuICAgICAgcGFkZGluZzogMTVweDsgfSB9XG5cbi53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eSB7XG4gIHBhZGRpbmc6IDhweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIHdpZHRoOiAzZW07XG4gIHBhZGRpbmc6IDAuNjI1ZW07XG4gIGZvbnQtc2l6ZTogMTc7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTY7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIHBhZGRpbmc6IDExcHg7IH0gfVxuXG4ud29vY29tbWVyY2UtcHJvZHVjdC1kZXRhaWxzX19zaG9ydC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMS4yNWVtIDAgMS44NzVlbSAwO1xuICBmb250LXNpemU6IDAuODc1ZW07IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXZpZXctbGluayB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuXG4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LmFtb3VudDpudGgtY2hpbGQoMSkge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LmFtb3VudDpudGgtY2hpbGQoMSkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaW5nbGVQcm9kdWN0Q29uYXRhaW5lciB7XG4gICAgcGFkZGluZzogMCAzMHB4OyB9IH1cblxuLndvb2NvbW1lcmNlLXRhYnMtbW9iaWxlIC50YWJzLW1vYmlsZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgNSU7XG4gIG1hcmdpbjogMDsgfVxuICAud29vY29tbWVyY2UtdGFicy1tb2JpbGUgLnRhYnMtbW9iaWxlIC50aXRsZS10YWJzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDIwO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC53b29jb21tZXJjZS10YWJzLW1vYmlsZSAudGFicy1tb2JpbGUgLnRpdGxlLXRhYnMuYWN0aXZlVGl0bGUsIC53b29jb21tZXJjZS10YWJzLW1vYmlsZSAudGFicy1tb2JpbGUgLnRpdGxlLXRhYnMuYWN0aXZlVGl0bGUgYSB7XG4gICAgICBjb2xvcjogIzcyOTYzNjsgfVxuICAgIC53b29jb21tZXJjZS10YWJzLW1vYmlsZSAudGFicy1tb2JpbGUgLnRpdGxlLXRhYnMgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAud29vY29tbWVyY2UtdGFicy1tb2JpbGUgLnRhYnMtbW9iaWxlIC5hcnJvdyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLndvb2NvbW1lcmNlLXRhYnMtbW9iaWxlIC50YWJzLW1vYmlsZSAuYXJyb3cgc3ZnIHtcbiAgICAgIGZpbGw6ICNiNmI2YjY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzOyB9XG4gIC53b29jb21tZXJjZS10YWJzLW1vYmlsZSAudGFicy1tb2JpbGUgLnRpdGxlLXRhYnMuYWN0aXZlVGl0bGUgLmFycm93IHN2ZyB7XG4gICAgZmlsbDogIzcyOTYzNjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zczsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuXG4uY29tbWVudC1mb3JtIC5mb3JtLXN1Ym1pdCAuc3VibWl0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZmOTkzMCAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjg3NWVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLmNvbW1lbnQtZm9ybSAuY29tbWVudC1mb3JtLXJhdGluZyAuc3RhcnMgYSB7XG4gIGNvbG9yOiAjNmY5OTMwOyB9XG5cbi5jb21tZW50LXRleHQgLnN0YXItcmF0aW5nIHNwYW4ge1xuICBjb2xvcjogIzZmOTkzMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LmltYWdlcyBpbWcge1xuICB3aWR0aDogYXV0bzsgfVxuXG4ud29vY29tbWVyY2UtVGFicy1wYW5lbCB1bCB7XG4gIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHRkLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyB0aCB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNob3AtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnNob3AtY29udGFpbmVyIC5wcm9kdWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQ1JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMjBweCAxLjUlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNob3AtY29udGFpbmVyIC5wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMS41JSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHggIWltcG9ydGFudDsgfSB9XG4gICAgLnNob3AtY29udGFpbmVyIC5wcm9kdWN0IGEgaW1nIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5zaG9wLWNvbnRhaW5lciAucHJvZHVjdCBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2hvcC1jb250YWluZXIgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OyB9IH1cbiAgLnNob3AtY29udGFpbmVyIC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTmF0dXJlXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnNob3AtY29udGFpbmVyIC5wcm9kdWN0cyBsaS5wcm9kdWN0LWNhdGVnb3J5IHtcbiAgICB3aWR0aDogNDclICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2hvcC1jb250YWluZXIgLnByb2R1Y3RzIGxpLnByb2R1Y3QtY2F0ZWdvcnkge1xuICAgICAgICB3aWR0aDogNDclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5zaG9wLWNvbnRhaW5lciAucHJvZHVjdHMgbGkucHJvZHVjdC1jYXRlZ29yeSB7XG4gICAgICAgIHdpZHRoOiA5NyU7IH0gfVxuICAuc2hvcC1jb250YWluZXIgLm1vcmVQcm9kdWN0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNob3AtY29udGFpbmVyIC5tb3JlUHJvZHVjdHMgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1MTsgfVxuICAgIC5zaG9wLWNvbnRhaW5lciAubW9yZVByb2R1Y3RzIHN2ZyB7XG4gICAgICB3aWR0aDogMjBweDsgfVxuXG4ucXVhbnRpdHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnF1YW50aXR5IGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi5xdWFudGl0eSBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4ucXVhbnRpdHkgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuLnF1YW50aXR5IGlucHV0IHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlOyB9XG5cbi5xdWFudGl0eSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnF1YW50aXR5LW5hdiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDhweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLnF1YW50aXR5LW5hdiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDhweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLnF1YW50aXR5LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuICB3aWR0aDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGMkYyRjI7IH1cblxuLnF1YW50aXR5LWJ1dHRvbi5xdWFudGl0eS11cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA1MCU7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7IH1cblxuLnF1YW50aXR5LWJ1dHRvbi5xdWFudGl0eS1kb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xcHg7XG4gIGhlaWdodDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyOyB9XG5cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hlYWRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbiNsb2dvIHtcbiAgd2lkdGg6IDVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjbG9nbyB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAjbG9nbyB7XG4gICAgICB3aWR0aDogNi4yNXJlbTsgfSB9XG5cbmxpLnBhbmllciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICBsaS5wYW5pZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0b3A6IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpXFw5O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYW5pZXIucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtOyB9XG5cbi5oZWFkZXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmhlYWRlci1yaWdodF9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgICAgLmhlYWRlci1yaWdodF9faWNvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTNweDsgfSB9XG4gICAgLmhlYWRlci1yaWdodF9faWNvbjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLmhlYWRlci1yaWdodF9faWNvbiBzdmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgICAgLmhlYWRlci1yaWdodF9faWNvbiBzdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuICAgICAgLmhlYWRlci1yaWdodF9faWNvbiBzdmcgcGF0aCxcbiAgICAgIC5oZWFkZXItcmlnaHRfX2ljb24gc3ZnIHJlY3Qge1xuICAgICAgICBmaWxsOiAjNmY5OTMwOyB9XG4gICAgLmhlYWRlci1yaWdodF9faWNvbi0tbmV3c2xldHRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5oZWFkZXItcmlnaHRfX2ljb24tLW5ld3NsZXR0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgICAgIC5oZWFkZXItcmlnaHRfX2ljb24tLW5ld3NsZXR0ZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTNweCAwIDA7IH0gfVxuICAgICAgLmhlYWRlci1yaWdodF9faWNvbi0tbmV3c2xldHRlciBzdmcge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4OyB9XG4gICAgLmhlYWRlci1yaWdodF9faWNvbi0tc2VhcmNoIHN2ZyB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgIC5oZWFkZXItcmlnaHRfX2ljb24tLWNhcnQgc3ZnIHtcbiAgICAgIHdpZHRoOiAzN3B4O1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAuaGVhZGVyLXJpZ2h0X19pY29uLS1jYXJ0IHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHN0cm9rZTogIzIwNDQzMzsgfVxuICAgICAgLmhlYWRlci1yaWdodF9faWNvbi0tY2FydCBzdmcgcmVjdCB7XG4gICAgICAgIGZpbGw6ICMyMDQ0MzM7IH1cbiAgICAuaGVhZGVyLXJpZ2h0X19pY29uLS1jYXJ0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmhlYWRlci1yaWdodF9faWNvbi0tY2FydC5pcy1mdWxsIC5jYXJ0LWNvbnRlbnRzLWNvdW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5oZWFkZXItcmlnaHRfX2ljb24tLWNhcnQgLmNhcnQtY29udGVudHMtY291bnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgcmlnaHQ6IDExcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkICMyMDQ0MzM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgICAgICAuaGVhZGVyLXJpZ2h0X19pY29uLS1jYXJ0IC5jYXJ0LWNvbnRlbnRzLWNvdW50IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuICAgICAgLmhlYWRlci1yaWdodF9faWNvbi0tY2FydDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaGVhZGVyLXJpZ2h0X19pY29uLS1jYXJ0OjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5uYXZfaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICAvKiBtZWdhbWVudSBzdWJtZW51ICovXG4gIC8qIG5pdmVhdSAxICovXG4gIC8qIG5pdmVhdSAyIC0gdHlwZSB0YXhvbm9teSAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5uYXZfaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5uYXZfaGVhZGVyIC5ibGFjay1jYXJ0LmN1cnJlbnRfcGFnZV9wYXJlbnRhLmlzLWFjdGl2ZTo6YWZ0ZXIsIC5uYXZfaGVhZGVyIC5ibGFjay1jYXJ0LmN1cnJlbnRfcGFnZV9pdGVtYS5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnICc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREl4TGpFdU1Dd2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWtOaGJIRjFaVjh4SWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSUtDU0IyYVdWM1FtOTRQU0l3SURBZ09EY3VOaUEyTnk0NElpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBNE55NDJJRFkzTGpnN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajRLUEhOMGVXeGxJSFI1Y0dVOUluUmxlSFF2WTNOeklqNEtDUzV6ZERCN1ptbHNiRHB1YjI1bE8zTjBjbTlyWlRvak5rWTVPVE13TzNOMGNtOXJaUzEzYVdSMGFEb3lPM04wY205clpTMXNhVzVsWTJGd09uSnZkVzVrTzNOMGNtOXJaUzFzYVc1bGFtOXBianB5YjNWdVpEdDlDand2YzNSNWJHVStDangwYVhSc1pUNUdhV05vYVdWeUlESXhQQzkwYVhSc1pUNEtQR2NnYVdROUlrTmhiSEYxWlY4eUlqNEtDVHhuSUdsa1BTSkRZV3h4ZFdWZk1TMHlJajRLQ1FrOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5NVEl1Tml3eU1TNDVURE16TGpVc01Vd3hNaTQyTERJeExqbDZJaTgrQ2drSlBIQmhkR2dnWTJ4aGMzTTlJbk4wTUNJZ1pEMGlUVGMxTGpNc01qRXVPVXcxTkM0MExERk1OelV1TXl3eU1TNDVlaUl2UGdvSkNUeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazB6TGpVc01qSXVPV2c0TUM0Mll6RXVOQ3d3TERJdU5Td3hMakVzTWk0MUxESXVOWFkxTGpSak1Dd3hMalF0TVM0eExESXVOUzB5TGpVc01pNDFTRE11TldNdE1TNDBMREF0TWk0MUxURXVNUzB5TGpVdE1pNDFkaTAxTGpRS0NRa0pRekVzTWpRc01pNHhMREl5TGprc015NDFMREl5TGpsNklpOCtDZ2tKUEhCdmJIbHNhVzVsSUdOc1lYTnpQU0p6ZERBaUlIQnZhVzUwY3owaU5pNHlMRE16TGpNZ01Ua3VNeXcyTmk0NElEWTFMaklzTmpZdU9DQTRNUzQwTERNekxqTWdDUWtpTHo0S0NRazhjR0YwYUNCamJHRnpjejBpYzNRd0lpQmtQU0pOTWprdU1pdzBNeTQ0VERJNUxqSXNORE11T0hvaUx6NEtDUWs4Y0dGMGFDQmpiR0Z6Y3owaWMzUXdJaUJrUFNKTk5UZ3VOQ3cwTXk0NFREVTRMalFzTkRNdU9Ib2lMejRLQ1FrOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5ORE11T0N3ME15NDRURFF6TGpnc05ETXVPSG9pTHo0S0NUd3ZaejRLUEM5blBnbzhMM04yWno0S1wiKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjhweCAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICB3aWR0aDogMjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgcmlnaHQ6IC01cHg7IH1cbiAgLm5hdl9oZWFkZXIgLmJsYWNrLWNhcnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogNDVweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgICAubmF2X2hlYWRlciAuYmxhY2stY2FydCA+IGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4ICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5uYXZfaGVhZGVyIC5ibGFjay1jYXJ0ID4gYTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTROeTQxT0NBMk55NDNOU0krUEdSbFpuTStQSE4wZVd4bFBpNWpiSE10TVh0bWFXeHNPbTV2Ym1VN2MzUnliMnRsT2lNd01EQTdjM1J5YjJ0bExXeHBibVZqWVhBNmNtOTFibVE3YzNSeWIydGxMV3hwYm1WcWIybHVPbkp2ZFc1a08zTjBjbTlyWlMxM2FXUjBhRG95Y0hnN2ZUd3ZjM1I1YkdVK1BDOWtaV1p6UGp4MGFYUnNaVDVHYVdOb2FXVnlJREUzUEM5MGFYUnNaVDQ4WnlCcFpEMGlRMkZzY1hWbFh6SWlJR1JoZEdFdGJtRnRaVDBpUTJGc2NYVmxJRElpUGp4bklHbGtQU0pEWVd4eGRXVmZNUzB5SWlCa1lYUmhMVzVoYldVOUlrTmhiSEYxWlNBeElqNDhjR0YwYUNCamJHRnpjejBpWTJ4ekxURWlJR1E5SWsweE1pNDJOU3d5TVM0NE55d3pNeTQxTXl3eFdpSXZQanh3WVhSb0lHTnNZWE56UFNKamJITXRNU0lnWkQwaVRUYzFMakk0TERJeExqZzNMRFUwTGpRc01Wb2lMejQ4Y21WamRDQmpiR0Z6Y3owaVkyeHpMVEVpSUhnOUlqRWlJSGs5SWpJeUxqa3lJaUIzYVdSMGFEMGlPRFV1TlRnaUlHaGxhV2RvZEQwaU1UQXVORFFpSUhKNFBTSXlMalVpSUhKNVBTSXlMalVpTHo0OGNHOXNlV3hwYm1VZ1kyeGhjM005SW1Oc2N5MHhJaUJ3YjJsdWRITTlJall1TWpJZ016TXVNelVnTVRrdU1qY2dOall1TnpVZ05qVXVNVGtnTmpZdU56VWdPREV1TXpZZ016TXVNelVpTHo0OGNHRjBhQ0JqYkdGemN6MGlZMnh6TFRFaUlHUTlJazB5T1M0eE9DdzBNeTQzT1hZd1dpSXZQanh3WVhSb0lHTnNZWE56UFNKamJITXRNU0lnWkQwaVRUVTRMalFzTkRNdU56bDJNRm9pTHo0OGNHRjBhQ0JqYkdGemN6MGlZMnh6TFRFaUlHUTlJazAwTXk0M09TdzBNeTQzT1hZd1dpSXZQand2Wno0OEwyYytQQzl6ZG1jK1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjhweCAyOHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgICAgLm5hdl9oZWFkZXIgLmJsYWNrLWNhcnQgPiBhOjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgLm5hdl9oZWFkZXIgLmJsYWNrLWNhcnQ6aG92ZXIgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQQ0V0TFNCSFpXNWxjbUYwYjNJNklFRmtiMkpsSUVsc2JIVnpkSEpoZEc5eUlESXhMakV1TUN3Z1UxWkhJRVY0Y0c5eWRDQlFiSFZuTFVsdUlDNGdVMVpISUZabGNuTnBiMjQ2SURZdU1EQWdRblZwYkdRZ01Da2dJQzB0UGdvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa05oYkhGMVpWOHhJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJS0NTQjJhV1YzUW05NFBTSXdJREFnT0RjdU5pQTJOeTQ0SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0E0Tnk0MklEWTNMamc3SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNEtQSE4wZVd4bElIUjVjR1U5SW5SbGVIUXZZM056SWo0S0NTNXpkREI3Wm1sc2JEcHViMjVsTzNOMGNtOXJaVG9qTmtZNU9UTXdPM04wY205clpTMTNhV1IwYURveU8zTjBjbTlyWlMxc2FXNWxZMkZ3T25KdmRXNWtPM04wY205clpTMXNhVzVsYW05cGJqcHliM1Z1WkR0OUNqd3ZjM1I1YkdVK0NqeDBhWFJzWlQ1R2FXTm9hV1Z5SURJeFBDOTBhWFJzWlQ0S1BHY2dhV1E5SWtOaGJIRjFaVjh5SWo0S0NUeG5JR2xrUFNKRFlXeHhkV1ZmTVMweUlqNEtDUWs4Y0dGMGFDQmpiR0Z6Y3owaWMzUXdJaUJrUFNKTk1USXVOaXd5TVM0NVRETXpMalVzTVV3eE1pNDJMREl4TGpsNklpOCtDZ2tKUEhCaGRHZ2dZMnhoYzNNOUluTjBNQ0lnWkQwaVRUYzFMak1zTWpFdU9VdzFOQzQwTERGTU56VXVNeXd5TVM0NWVpSXZQZ29KQ1R4d1lYUm9JR05zWVhOelBTSnpkREFpSUdROUlrMHpMalVzTWpJdU9XZzRNQzQyWXpFdU5Dd3dMREl1TlN3eExqRXNNaTQxTERJdU5YWTFMalJqTUN3eExqUXRNUzR4TERJdU5TMHlMalVzTWk0MVNETXVOV010TVM0MExEQXRNaTQxTFRFdU1TMHlMalV0TWk0MWRpMDFMalFLQ1FrSlF6RXNNalFzTWk0eExESXlMamtzTXk0MUxESXlMamw2SWk4K0Nna0pQSEJ2Ykhsc2FXNWxJR05zWVhOelBTSnpkREFpSUhCdmFXNTBjejBpTmk0eUxETXpMak1nTVRrdU15dzJOaTQ0SURZMUxqSXNOall1T0NBNE1TNDBMRE16TGpNZ0NRa2lMejRLQ1FrOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5Namt1TWl3ME15NDRUREk1TGpJc05ETXVPSG9pTHo0S0NRazhjR0YwYUNCamJHRnpjejBpYzNRd0lpQmtQU0pOTlRndU5DdzBNeTQ0VERVNExqUXNORE11T0hvaUx6NEtDUWs4Y0dGMGFDQmpiR0Z6Y3owaWMzUXdJaUJrUFNKTk5ETXVPQ3cwTXk0NFREUXpMamdzTkRNdU9Ib2lMejRLQ1R3dlp6NEtQQzluUGdvOEwzTjJaejRLXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyOHB4IDI4cHg7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5uYXZfaGVhZGVyIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGk6bm90KDpsYXN0LWNoaWxkKSA+IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY5OTMwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzIwNDQzMzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMzBweCA4cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgICAgLm5hdl9oZWFkZXIgdWw6bm90KC5zdWItbWVudSkgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAubmF2X2hlYWRlciB1bDpub3QoLnN1Yi1tZW51KSA+IGxpOmhvdmVyID4gYSB7XG4gICAgY29sb3I6ICM2Zjk5MzA7IH1cbiAgLm5hdl9oZWFkZXIgdWw6bm90KC5zdWItbWVudSkgPiBsaTpob3ZlciA+IC5zdWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGk6aG92ZXIgPiAuc3ViLW1lbnUgPiBsaTpob3ZlciA+IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm5hdl9oZWFkZXIgdWw6bm90KC5zdWItbWVudSkgPiBsaTpob3ZlciA+IC5zdWItbWVudSA+IGxpOmhvdmVyID4gLnN1Yi1tZW51LFxuICAgIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGk6aG92ZXIgPiAuc3ViLW1lbnUgPiBsaTpob3ZlciA+IC53cmFwLXN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAubmF2X2hlYWRlciB1bDpub3QoLnN1Yi1tZW51KSA+IGxpLmN1cnJlbnRfcGFnZV9hbmNlc3RvciA+IGEsXG4gIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGkuY3VycmVudF9wYWdlX3BhcmVudCA+IGEsXG4gIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGkuY3VycmVudC1tZW51LXBhcmVudCA+IGEsXG4gIC5uYXZfaGVhZGVyIHVsOm5vdCguc3ViLW1lbnUpID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcbiAgICBjb2xvcjogIzZmOTkzMDsgfVxuICAubmF2X2hlYWRlciA+IHVsID4gbGkgPiAuc3ViLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDY4LCA1MSwgMC44KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSB7XG4gICAgICAgIHdpZHRoOiA4MCU7IH0gfVxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpIHtcbiAgICAgIGZsZXg6IDI1JTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjphZnRlcixcbiAgICAubmF2X2hlYWRlciA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaS5tZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgPiBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDE1cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWRiNDQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2FkYjQ0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxMzVkZWcpIHNrZXcoOGRlZywgOGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1vdXQgMC4ycztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAubmF2X2hlYWRlciA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaTpob3ZlciBhIHtcbiAgICAgIGNvbG9yOiAjY2FkYjQ0OyB9XG4gIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51LFxuICAubmF2X2hlYWRlciA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC53cmFwLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAubmF2X2hlYWRlciA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC5zdWItbWVudSA+IGxpLFxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLndyYXAtc3VibWVudSA+IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiBhLFxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLndyYXAtc3VibWVudSA+IGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICMyMDQ0MzM7XG4gICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLm5hdl9oZWFkZXIgPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IGEgLm1lbnUtaXRlbS10eHQsXG4gICAgICAubmF2X2hlYWRlciA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC53cmFwLXN1Ym1lbnUgPiBsaSA+IGEgLm1lbnUtaXRlbS10eHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51IC5jaGlsZC1jYXQtaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgbWF4LWhlaWdodDogNDAwcHg7IH1cbiAgLm5hdl9oZWFkZXIgPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAud3JhcC1zdWJtZW51IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5uYXZfaGVhZGVyID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLndyYXAtc3VibWVudSAuY2hpbGQtY2F0LWltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OyB9XG4gIC5uYXZfaGVhZGVyIC5uYS1wcm9qZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbG9nby1uYS1wcm9qZWN0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzdweCAzNXB4OyB9XG4gICAgLm5hdl9oZWFkZXIgLm5hLXByb2plY3QgYSB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4uaGVhZGVyLWJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAud29vLWNhcnQge1xuICAgIHRvcDogLTYuMjVyZW07XG4gICAgcmlnaHQ6IC0wLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAud29vLWNhcnQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBSZXNwb25zaXZlICovXG4ubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uYWNjb3JkaW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmFjY29yZGlvbiA+IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICBjb250ZW50OiAnPic7IH1cblxuLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gLnN1Yi1tZW51IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgZWFzZS1vdXQgMC4yczsgfVxuXG4ubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uYWNjb3JkaW9uLWhpZGUgPiAuc3ViLW1lbnUge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCBlYXNlLW91dCAwLjJzOyB9XG5cbi5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5hY2NvcmRpb24taGlkZSA+IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgY29udGVudDogJz4nOyB9XG5cbi5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSAud3JhcC1zdWJtZW51LFxuLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IC5tZW51LWl0ZW0tdHh0LFxuLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IC5jaGlsZC1jYXQtaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDMzICFpbXBvcnRhbnQ7IH1cbiAgLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDMzICFpbXBvcnRhbnQ7IH1cblxuLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW0gMS44NzVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWVudS1yZXNwb25zaXZlLW1lbnUgLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW0gMy43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW0gNS42MjVyZW0gIWltcG9ydGFudDsgfVxuXG4uc3ViLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAxLjg3NXJlbSAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuc2VjdGlvbiNtYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwOyB9XG5cbi5tYWluLXRodW1ibmFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA2NXZoICFpbXBvcnRhbnQ7IH1cbiAgLm1haW4tdGh1bWJuYWlsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5mcy1jYXJvdXNlbCB7XG4gIGhlaWdodDogNjV2aDsgfVxuXG4uY2Fyb3VzZWwtY2VsbCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5sYW5nLXN3aXRjaGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxhbmctc3dpdGNoZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubGFuZy1zd2l0Y2hlciAqOmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubGFuZy1zd2l0Y2hlciB1bCB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDY4LCA1MSwgMC43KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5sYW5nLXN3aXRjaGVyIHVsOmhvdmVyLCAubGFuZy1zd2l0Y2hlciB1bDphY3RpdmUsIC5sYW5nLXN3aXRjaGVyIHVsOmZvY3VzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmxhbmctc3dpdGNoZXIgdWwgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzOyB9XG4gICAgICAubGFuZy1zd2l0Y2hlciB1bCBhOmhvdmVyLCAubGFuZy1zd2l0Y2hlciB1bCBhOmFjdGl2ZSwgLmxhbmctc3dpdGNoZXIgdWwgYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjYzJkNjQ5OyB9XG4gICAgLmxhbmctc3dpdGNoZXIgdWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiAwLjc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogaW5zZXQgMC41cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMzIsIDY4LCA1MSwgMC43KTsgfVxuICAubGFuZy1zd2l0Y2hlci5qcy1pcy1ob3ZlciAubGFuZy1zd2l0Y2hlci1idXR0b246OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cblxuLmxhbmctc3dpdGNoZXItYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweCA4cHg7XG4gIGNvbG9yOiAjMjA0NDMzO1xuICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC5sYW5nLXN3aXRjaGVyLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweCAxM3B4OyB9IH1cbiAgLmxhbmctc3dpdGNoZXItYnV0dG9uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMDQ0MzM7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzIwNDQzMztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMnM7XG4gICAgY29udGVudDogXCJcIjsgfVxuICAubGFuZy1zd2l0Y2hlci1idXR0b246Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5sYW5nLXN3aXRjaGVyLWJ1dHRvbjpob3ZlciArIHVsLCAubGFuZy1zd2l0Y2hlci1idXR0b246YWN0aXZlICsgdWwsIC5sYW5nLXN3aXRjaGVyLWJ1dHRvbjpmb2N1cyArIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGFuZy1pdGVtIHtcbiAgei1pbmRleDogMTA7IH1cblxuLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIgLmxhbmctc3dpdGNoZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LXJlc3BvbnNpdmUtY29udGFpbmVyIC5sYW5nLXN3aXRjaGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVudS1yZXNwb25zaXZlLWNvbnRhaW5lciAubGFuZy1zd2l0Y2hlciA+IHVsIHtcbiAgICBib3R0b206IDEzMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIgLmxhbmctc3dpdGNoZXIgPiB1bDo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAtOHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuLnNlYXJjaC1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYwcHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB0b3AgZWFzZS1vdXQgMC4yczsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlYXJjaC1ib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLnNlYXJjaC1ib3gge1xuICAgICAgcGFkZGluZzogNnB4IDEwcHg7IH0gfVxuICAuc2VhcmNoLWJveCAjbG9nbyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlYXJjaC1ib3ggI2xvZ28ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG4gIC5zZWFyY2gtYm94IC5zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogNzElOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlYXJjaC1ib3ggLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDgxJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlYXJjaC1ib3ggLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDcxJTsgfSB9XG4gICAgLnNlYXJjaC1ib3ggLnNlYXJjaC1mb3JtIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnNlYXJjaC1ib3ggLnNlYXJjaC1mb3JtX19sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zZWFyY2gtYm94IC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDE1cHg7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMyMDQ0MzM7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zZWFyY2gtYm94IC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cbiAgICAuc2VhcmNoLWJveCAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWFnbmlmaWVyLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAgICAgLnNlYXJjaC1ib3ggLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuICAuc2VhcmNoLWJveCAuc2VhcmNoLWZpZWxkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnNlYXJjaC1ib3hfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNlYXJjaC1ib3guanMtaXMtdmlzaWJsZSB7XG4gICAgdG9wOiAwOyB9XG4gIC5zZWFyY2gtYm94X193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNzB2aDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjV2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgdHJhbnNpdGlvbjogdG9wIGVhc2Utb3V0IDAuNXM7IH1cbiAgICAuc2VhcmNoLWJveF9fd3JhcHBlci5qcy1pcy1vcGVuIHtcbiAgICAgIHRvcDogNjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VhcmNoLWJveF9fd3JhcHBlci5qcy1pcy1vcGVuIHtcbiAgICAgICAgICB0b3A6IDc4cHg7IH0gfVxuICAuc2VhcmNoLWJveF9fcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ3JpZC1nYXA6IDE1cHg7XG4gICAgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heCgxMDBweCwgYXV0byk7XG4gICAgcm93LWdhcDogNTVweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zZWFyY2gtYm94X19yZXN1bHQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VhcmNoLWJveF9fcmVzdWx0IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnNlYXJjaC1ib3hfX3Jlc3VsdCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH0gfVxuICAgIC5zZWFyY2gtYm94X19yZXN1bHQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBmbGV4OiBhdXRvOyB9XG4gICAgLnNlYXJjaC1ib3hfX3Jlc3VsdF9faXRlbSB7XG4gICAgICBtYXgtd2lkdGg6IDI4NnB4OyB9XG4gICAgLnNlYXJjaC1ib3hfX3Jlc3VsdCAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAuc2VhcmNoLWJveF9fcmVzdWx0IC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTkwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLnNlYXJjaC1ib3hfX3Jlc3VsdCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5zZWFyY2gtYm94X19yZXN1bHQgLm5vLXJlc3VsdCB7XG4gICAgICBjb2xvcjogIzIwNDQzMztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnNsaWRlckhvbWVBY3R1IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNGM3O1xuICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5zbGlkZXJIb21lQWN0dSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMzBweDsgfSB9XG4gIC5zbGlkZXJIb21lQWN0dSAucm93IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXJIb21lQWN0dSAubmEtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1Ny42JTtcbiAgICB0b3A6IDE0MHB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLnNsaWRlckhvbWVBY3R1IC5uYS10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0byBhdXRvIDMwcHg7IH0gfVxuICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwge1xuICAgIGhlaWdodDogNTAwcHg7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCB7XG4gICAgICAgIGhlaWdodDogMjlyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUxLjg3NWVtKSB7XG4gICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwge1xuICAgICAgICBoZWlnaHQ6IDI4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNi4yNWVtKSB7XG4gICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwge1xuICAgICAgICBoZWlnaHQ6IDI1cmVtOyB9IH1cbiAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwgLmNhcm91c2VsLWNlbGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCAuY2Fyb3VzZWwtY2VsbCAuc2xpZGVySG9tZUFjdHVfX2Jsb2Mge1xuICAgICAgICBtYXJnaW46IDAgYXV0byBhdXRvO1xuICAgICAgICB3aWR0aDogNzVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDUlO1xuICAgICAgICBwYWRkaW5nOiAwIDUuNHJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNsaWRlckhvbWVBY3R1IC5tYWluLWNhcm91c2VsIC5jYXJvdXNlbC1jZWxsIC5zbGlkZXJIb21lQWN0dV9fYmxvYyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MS44NzVlbSkge1xuICAgICAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCAuY2Fyb3VzZWwtY2VsbCAuc2xpZGVySG9tZUFjdHVfX2Jsb2Mge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAgICAgLnNsaWRlckhvbWVBY3R1IC5tYWluLWNhcm91c2VsIC5jYXJvdXNlbC1jZWxsIC5zbGlkZXJIb21lQWN0dV9fYmxvY19faW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCAuY2Fyb3VzZWwtY2VsbCAuc2xpZGVySG9tZUFjdHVfX2Jsb2NfX2ltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwgLmNhcm91c2VsLWNlbGwgLnNsaWRlckhvbWVBY3R1X19ibG9jX19pbWcgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwgLmNhcm91c2VsLWNlbGwgLnNsaWRlckhvbWVBY3R1X19ibG9jX19pbWcgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwJSAhaW1wb3J0YW50OyB9IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgLnNsaWRlckhvbWVBY3R1IC5tYWluLWNhcm91c2VsIC5jYXJvdXNlbC1jZWxsIC5zbGlkZXJIb21lQWN0dV9fYmxvY19faW1nIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTlyZW07IH0gfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzYuMjVlbSkge1xuICAgICAgICAgICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwgLmNhcm91c2VsLWNlbGwgLnNsaWRlckhvbWVBY3R1X19ibG9jX19pbWcgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNHJlbTsgfSB9XG4gICAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCAuY2Fyb3VzZWwtY2VsbCAuc2xpZGVySG9tZUFjdHVfX2Jsb2NfX3RleHQge1xuICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTQwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwgLmNhcm91c2VsLWNlbGwgLnNsaWRlckhvbWVBY3R1X19ibG9jX190ZXh0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgICAgICAuc2xpZGVySG9tZUFjdHUgLm1haW4tY2Fyb3VzZWwgLmNhcm91c2VsLWNlbGwgLnNsaWRlckhvbWVBY3R1X19ibG9jX190ZXh0IC53eXNpd3lnIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgLnNsaWRlckhvbWVBY3R1IC5tYWluLWNhcm91c2VsIC5jYXJvdXNlbC1jZWxsIC5zbGlkZXJIb21lQWN0dV9fYmxvY19fdGV4dCAud3lzaXd5ZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAgICAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCAuY2Fyb3VzZWwtY2VsbCAuc2xpZGVySG9tZUFjdHVfX2Jsb2NfX3RleHQgLnd5c2l3eWcgcCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mjk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCAuY2Fyb3VzZWwtY2VsbCAuc2xpZGVySG9tZUFjdHVfX2Jsb2NfX3RleHQgLnd5c2l3eWcgcCB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5zbGlkZXJIb21lQWN0dSAubWFpbi1jYXJvdXNlbCBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnN0b3J5LXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnN0b3J5LXJpZ2h0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuc3RvcnktcmlnaHQgLmltYWdlLXNsaWRlciB7XG4gICAgei1pbmRleDogMCAhaW1wb3J0YW50OyB9XG4gIC5zdG9yeS1yaWdodCAub3dsLW5leHQsXG4gIC5zdG9yeS1yaWdodCAub3dsLXByZXYge1xuICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMy4xMjVyZW07IH1cbiAgICAuc3RvcnktcmlnaHQgLm93bC1uZXh0OjphZnRlcixcbiAgICAuc3RvcnktcmlnaHQgLm93bC1wcmV2OjphZnRlciB7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gICAgLnN0b3J5LXJpZ2h0IC5vd2wtbmV4dDo6YmVmb3JlLFxuICAgIC5zdG9yeS1yaWdodCAub3dsLXByZXY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMS4zNzVyZW07XG4gICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpXFw5OyB9XG4gICAgLnN0b3J5LXJpZ2h0IC5vd2wtbmV4dDo6YWZ0ZXIsIC5zdG9yeS1yaWdodCAub3dsLW5leHQ6OmJlZm9yZSxcbiAgICAuc3RvcnktcmlnaHQgLm93bC1wcmV2OjphZnRlcixcbiAgICAuc3RvcnktcmlnaHQgLm93bC1wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlOyB9XG4gIC5zdG9yeS1yaWdodCAub3dsLW5leHQge1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnN0b3J5LXJpZ2h0IC5vd2wtbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAuc3RvcnktcmlnaHQgLm93bC1uZXh0OjphZnRlciB7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTUwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKVxcOTsgfVxuICAuc3RvcnktcmlnaHQgLm93bC1wcmV2IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdG9wOiAzLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5zdG9yeS1yaWdodCAub3dsLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7IH0gfVxuICAgIC5zdG9yeS1yaWdodCAub3dsLXByZXY6OmFmdGVyIHtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTcwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzAlLCAtNTAlKSByb3RhdGUoNDVkZWcpXFw5OyB9XG5cbi5zdG9yeS1kYXRlIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0b3J5LWRhdGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gIC5zdG9yeS1kYXRlIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnN0b3J5LWRhdGUgdWwgbGkge1xuICAgICAgZmxleDogMjAlO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnN0b3J5LWRhdGUgdWwgbGkge1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAuc3RvcnktZGF0ZSBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgLnN0b3J5LWRhdGUgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHotaW5kZXg6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgICAuc3RvcnktZGF0ZSBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzZmOTkzMDsgfSB9XG4gICAgICAuc3RvcnktZGF0ZSBidXR0b24uaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9zcG90LnBuZ1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxcOTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgICAgLnN0b3J5LWRhdGUgYnV0dG9uLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjsgfSB9XG5cbi5zdG9yeS1sZWZ0LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDEuNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07XG4gIHotaW5kZXg6IDA7IH1cbiAgLnN0b3J5LWxlZnQtdGl0bGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLnN0b3J5LXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmOGZiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZ3Jhc3MuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsgfVxuICAuc3Rvcnktc2VjdGlvbiBoMSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnN0b3J5LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc3Rvcnktc2xpZGUge1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cblxuLnN0b3J5LXNsaWRlIGgxLFxuLnN0b3J5LXNsaWRlIGgyLFxuLnN0b3J5LXNsaWRlIGgzLFxuLnN0b3J5LXNsaWRlIGg0LFxuLnN0b3J5LXNsaWRlIGg1LFxuLnN0b3J5LXNsaWRlIGg2IHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIGNvbG9yOiAjMjA0NDMzOyB9XG5cbi5zdG9yeS1zbGlkZSBwLCAuc3Rvcnktc2xpZGUgZGl2IHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMjJweDsgfVxuXG4uc3RvcnktbGVmdCB7XG4gIG1heC13aWR0aDogMzQuMzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zdG9yeS1sZWZ0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAuc3RvcnktbGVmdCAuc3Rvcnktc2xpZGVyIHtcbiAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7IH1cblxuLm1hbmlmZXN0LXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9yaXotbWFpcy1tYW5pZmVzdGUtMS5wbmdcIikgbm8tcmVwZWF0IGxlZnQgY2VudGVyLCB1cmwoXCIuLi9pbWFnZXMvcGV0aXRzLXBvaXMtbWFuaWZlc3RlLTEucG5nXCIpIG5vLXJlcGVhdCA0MHB4IDUzMHB4LCB1cmwoXCIuLi9pbWFnZXMvZnJhaXNlX3BvbW1lLnBuZ1wiKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubWFuaWZlc3Qtc2VjdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLm1hbmlmZXN0LXNlY3Rpb24gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkJyeW5kYW5cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gICAgZm9udC1zaXplOiAxLjY4NzVlbTtcbiAgICBjb2xvcjogIzIwNDQzMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgLm1hbmlmZXN0LXNlY3Rpb24gLmltYWdlLXRpdHJlLW1hbmlmZXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1hbmlmZXN0LXNlY3Rpb24gaW1nLmljb24tbWFuaWZlc3Qge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWFuaWZlc3Qtc2VjdGlvbiBpbWcuaWNvbi1tYW5pZmVzdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLm1hbmlmZXN0LXNlY3Rpb24gLndyYXAtbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYW5pZmVzdC1zZWN0aW9uIC53cmFwLWxpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9IH1cbiAgLm1hbmlmZXN0LXNlY3Rpb24gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgLm1hbmlmZXN0LXNlY3Rpb24gcCBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBjb2xvcjogI2Y0OTcwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLm1hbmlmZXN0LXNlY3Rpb24gLnVwYXJyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5lcXVpcGUtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjdmNztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZXF1aXBlLXNlY3Rpb24gLndyYXAtbGlzdC1lcXVpcGUge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgICAuZXF1aXBlLXNlY3Rpb24gLndyYXAtbGlzdC1lcXVpcGUgLnNob3ctZm9yLW1lZGl1bSB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuZXF1aXBlLXNlY3Rpb24gLndyYXAtbGlzdC1lcXVpcGUgLnNob3ctZm9yLW1lZGl1bSB1bCBsaSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNXB4IDI3cHggMHB4IDI3cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgICAgLmVxdWlwZS1zZWN0aW9uIC53cmFwLWxpc3QtZXF1aXBlIC5zaG93LWZvci1tZWRpdW0gdWwgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDM1cHggMHB4IDM1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTYlOyB9IH1cbiAgICAuZXF1aXBlLXNlY3Rpb24gLndyYXAtbGlzdC1lcXVpcGUgLnNob3ctZm9yLXNtYWxsIHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5lcXVpcGUtc2VjdGlvbiAud3JhcC1saXN0LWVxdWlwZSAuc2hvdy1mb3Itc21hbGwgdWwgbGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5lcXVpcGUtc2VjdGlvbiBoMS5uYS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5lcXVpcGUtc2VjdGlvbiBwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmVxdWlwZS1zZWN0aW9uIHAgLndvcmsge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5lcXVpcGUtc2VjdGlvbiBwIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkJyeW5kYW5cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAuZXF1aXBlLXNlY3Rpb24gLndyYXAtaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE2NnB4O1xuICAgIGhlaWdodDogMjAzcHg7IH1cbiAgLmVxdWlwZS1zZWN0aW9uIC5jaXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDE2NnB4O1xuICAgIGhlaWdodDogMjAzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE1LCA3MiwgOTksIDAuOSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDAuOTM3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmVxdWlwZS1zZWN0aW9uIC5jaXRlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAjYzJkNjQ5O1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjYzJkNjQ5O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTNweDtcbiAgICAgIGxlZnQ6IC0xM3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLmVxdWlwZS1zZWN0aW9uIC5jaXRlOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5lcXVpcGUtc2VjdGlvbiAuY2l0ZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgI2MyZDY0OTtcbiAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAjYzJkNjQ5O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIHJpZ2h0OiAtMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5lcXVpcGUtc2VjdGlvbiAuY2l0ZTo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZXF1aXBlLXNlY3Rpb24gLmRpc3BsYXkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtc3RhZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uZm91bmQtdXMtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmOGZiOyB9XG4gIC5mb3VuZC11cy1zZWN0aW9uIGgxLCAuZm91bmQtdXMtc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvdW5kLXVzLXNlY3Rpb24gaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gIC5mb3VuZC11cy1zZWN0aW9uIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAuZm91bmQtdXMtc2VjdGlvbiAubmEtY29udGVudCBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45cmVtO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm91bmQtdXMtc2VjdGlvbiAubmEtY29udGVudCBoNCBhIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMztcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgICAgLmZvdW5kLXVzLXNlY3Rpb24gLm5hLWNvbnRlbnQgaDQgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5uYS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLm5hLXRpdGxlIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICBmb250LXNpemU6IDEuODEyNWVtO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZylcXDk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgIC5uYS10aXRsZSBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBmb250LXNpemU6IDEuNDM3NWVtOyB9IH1cblxuLmNvdW50cmllcyB7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgLmNvdW50cmllc19faXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICBtYXJnaW46IDAgYXV0byAzN3B4IGF1dG87IH1cbiAgICAuY291bnRyaWVzX19pdGVtX19mbGFnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiA3MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuY291bnRyaWVzX19pdGVtX193cmFwLWxhYmVscyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMHB4LCAyNXB4KTtcbiAgICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgICAgcm93LWdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAyNHB4IDEwcHg7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY291bnRyaWVzX19pdGVtX193cmFwLWxhYmVscy5ncmlkLTFjb2wge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOyB9XG4gICAgLmNvdW50cmllc19faXRlbV9fbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmhlYWRlci1pbmdyZWRpZW50cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzNC4zNzVyZW07XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhlYWRlci1pbmdyZWRpZW50cyAuYmFja2dyb3VuZC1pbmdyZWRpZW50cy1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlYmYwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC5iYWNrZ3JvdW5kLWluZ3JlZGllbnRzLWxlZnQgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC5iYWNrZ3JvdW5kLWluZ3JlZGllbnRzLWxlZnQge1xuICAgICAgICB3aWR0aDogMjUwJTsgfSB9XG4gIC5oZWFkZXItaW5ncmVkaWVudHMgLmJhY2tncm91bmQtaW5ncmVkaWVudHMtcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY4ZmE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZWFkZXItaW5ncmVkaWVudHMgLmJhY2tncm91bmQtaW5ncmVkaWVudHMtcmlnaHQge1xuICAgICAgICB6LWluZGV4OiAwOyB9IH1cbiAgLmhlYWRlci1pbmdyZWRpZW50cyAud3JhcC1pbmdyZWRpZW50cy1ibG9jLWxlZnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmhlYWRlci1pbmdyZWRpZW50cyAud3JhcC1pbmdyZWRpZW50cy1ibG9jLWxlZnQgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtMTIuNXJlbTtcbiAgICAgIGhlaWdodDogNDIuMTI1cmVtO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC53cmFwLWluZ3JlZGllbnRzLWJsb2MtbGVmdCBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMzAwJTtcbiAgICAgICAgICB3aWR0aDogMzAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5oZWFkZXItaW5ncmVkaWVudHMgLmNvbnRhaW5lci13cmFwLWluZ3JlZGllbnRzLWJsb2MtcmlnaHQge1xuICAgIHBhZGRpbmc6IDQzcHg7IH1cbiAgLmhlYWRlci1pbmdyZWRpZW50cyAud3JhcC1pbmdyZWRpZW50cy1ibG9jLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDIuMTg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5oZWFkZXItaW5ncmVkaWVudHMgLndyYXAtaW5ncmVkaWVudHMtYmxvYy1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlYWRlci1pbmdyZWRpZW50cyAud3JhcC1pbmdyZWRpZW50cy1ibG9jLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTsgfSB9XG4gICAgLmhlYWRlci1pbmdyZWRpZW50cyAud3JhcC1pbmdyZWRpZW50cy1ibG9jLXJpZ2h0IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC53cmFwLWluZ3JlZGllbnRzLWJsb2MtcmlnaHQgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLmhlYWRlci1pbmdyZWRpZW50cyAud3JhcC1pbmdyZWRpZW50cy1ibG9jLXJpZ2h0OjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC53cmFwLWluZ3JlZGllbnRzLWJsb2MtcmlnaHQgLnRhbXBvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItaW5ncmVkaWVudHMgLndyYXAtaW5ncmVkaWVudHMtYmxvYy1yaWdodC0tdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5oZWFkZXItaW5ncmVkaWVudHMgLndyYXAtaW5ncmVkaWVudHMtYmxvYy1yaWdodC0tdHh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC53cmFwLWluZ3JlZGllbnRzLWJsb2MtcmlnaHQtLXR4dCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAuaGVhZGVyLWluZ3JlZGllbnRzIC53cmFwLWluZ3JlZGllbnRzLWJsb2MtcmlnaHQtLXR4dCBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5oZWFkZXItaW5ncmVkaWVudHMgLndyYXAtaW5ncmVkaWVudHMtYmxvYy1yaWdodCAudml0YW1pbiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuXG4udml0YW1pbmVfdHlwZSBsaSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjNmY5OTMwOyB9XG4gIC52aXRhbWluZV90eXBlIGxpIGltZyB7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5pbmdyZWRpZW50c19zdWJtZW51IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbmdyZWRpZW50c19zdWJtZW51LS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbjogMi4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIC5pbmdyZWRpZW50c19zdWJtZW51LS1uYW1lOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAjNmY5OTMwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaW5ncmVkaWVudHNfc3VibWVudS0tbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMnZoIDJ2dzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODE4cHgpIHtcbiAgICAgIC5pbmdyZWRpZW50c19zdWJtZW51LS1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwLjV2aCAxMnZ3OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5pbmdyZWRpZW50c19zdWJtZW51LS1uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwLjV2aCA1dnc7IH0gfVxuXG4uaW5ncmVkaWVudHMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3Nwb3QtbGFyZ2UucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmluZ3JlZGllbnRzLWFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5pbmdyZWRpZW50cy1oaWRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZnJ1aXRzLWRpc3BsYXktb3V0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG5cbi5mcnVpdHMtZGlzcGxheSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC5mcnVpdHMtZGlzcGxheSBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiTmF0dXJlXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmZydWl0cy1kaXNwbGF5IGg2IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5mcnVpdHMtZGlzcGxheSAuZnJ1aXRzLXRvcCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZydWl0cy1kaXNwbGF5IC5mcnVpdHMtdG9wIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5mcnVpdHMtZGlzcGxheSAuZnJ1aXRzLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2Zjk5MzA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNmY5OTMwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM2Zjk5MzA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZnJ1aXRzLWRpc3BsYXkuZnJ1aXRzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmY5OTMwOyB9XG4gICAgLmZydWl0cy1kaXNwbGF5LmZydWl0cy1hY3RpdmUgLmZydWl0cy1ib3R0b20ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZydWl0cy1kaXNwbGF5LmZydWl0cy1vcGFjaXR5IHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cblxuLmJydXNoLXVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0zMXB4OyB9XG4gIC5icnVzaC11cCA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogNDQlOyB9XG4gIC5icnVzaC11cCBpbWcge1xuICAgIG1heC13aWR0aDogMjclO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uYnJ1c2gtZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMzFweDsgfVxuICAuYnJ1c2gtZG93biA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogNjAlOyB9XG4gIC5icnVzaC1kb3duIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxOSU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pbmdyZWRpZW50cy1wcm9wZXJ0aWVzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAtMXJlbSAwIDJyZW0gMDsgfVxuXG4ucHJvZHVjdF9zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnByb2R1Y3Rfc2xpZGUtLWZpcnN0SW1hZ2Uge1xuICBwYWRkaW5nOiAxMHB4IDcwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pbmdyZWRpZW50cy1zbGlkZXItZ2xvYmFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hcnJvdy1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB3aWR0aDogMTRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctbGVmdC5wbmdcIik7IH1cblxuLmFycm93LXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDE0cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LnBuZ1wiKTsgfVxuXG4ubmEtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5saXN0LXJlY2V0dGVzX19ibG9jIC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5saXN0LXJlY2V0dGVzX19ibG9jX19pdGVtIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgLmxpc3QtcmVjZXR0ZXNfX2Jsb2NfX2l0ZW0gYSBwIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMDsgfVxuICAubGlzdC1yZWNldHRlc19fYmxvY19faXRlbS1pbWcge1xuICAgIGhlaWdodDogMzMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlzdC1yZWNldHRlc19fYmxvY19faXRlbS1pbWcgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBtaW4taGVpZ2h0OiAzNTBweDtcbiAgICAgIG1pbi13aWR0aDogODUxcHg7IH1cblxuLmxpc3QtcmVjZXR0ZXMgLm5hdl9jYXRlZ29yeSB1bCBsaTpsYXN0LWNoaWxkIGEge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGlzdC1yZWNldHRlcyAubmF2X2NhdGVnb3J5IHVsIGxpOmxhc3QtY2hpbGQgYS5pcy1hY3RpdmUsIC5saXN0LXJlY2V0dGVzIC5uYXZfY2F0ZWdvcnkgdWwgbGk6bGFzdC1jaGlsZCBhOmFjdGl2ZSwgLmxpc3QtcmVjZXR0ZXMgLm5hdl9jYXRlZ29yeSB1bCBsaTpsYXN0LWNoaWxkIGE6Zm9jdXMsIC5saXN0LXJlY2V0dGVzIC5uYXZfY2F0ZWdvcnkgdWwgbGk6bGFzdC1jaGlsZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ubGlzdC1yZWNldHRlcyAud3AtcGFnZW5hdmkge1xuICBwYWRkaW5nOiAzLjEyNXJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnJlY2lwZUhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDUzMHB4OyB9XG4gICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgICAgcGFkZGluZzogNTBweCA0NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHdoaXRlIDgyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDkyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpIDk5JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpIDEwMCUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jayB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2sge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2sge1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjEyNWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogODAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2stLXRpdGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjQzNzVlbTsgfSB9XG4gICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDUlO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RiZGJkYjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7IH1cbiAgICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jay0taW5mby0tYm9yZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMCU7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjVweCk7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jay0taW5mby0tYm9yZGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2stLWluZm8tLWluZ3JlZGllbnQtLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1pbmZvLS1pbmdyZWRpZW50LS1pY29uZUNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2stLWluZm8tLWluZ3JlZGllbnQtLWljb25lQ29udGVudC0taWNvbmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMuNXB4OyB9XG4gICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2stLWluZm8tLWNvdW50cnktLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1pbmZvLS1jb3VudHJ5LS1pbWcge1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1pbmZvLS1jb3VudHJ5LS1pbWcgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jay0tZXh0ZW5kIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDUlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5yZWNpcGVIZWFkZXItLWNvbnRhaW5lci0tYmxvY2stLWV4dGVuZCB7XG4gICAgICAgICAgICB3aWR0aDogODUlOyB9IH1cbiAgICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jay0tZXh0ZW5kLS1ib3JkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwJTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1leHRlbmQtLWJvcmRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1leHRlbmQtLXNoYXJlIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1leHRlbmQtLXNoYXJlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAlOyB9IH1cbiAgICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1leHRlbmQtLXNoYXJlLS1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoYXJlLnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDg5JTsgfVxuICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1leHRlbmQtLWNvdW50IHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jay0tZXh0ZW5kLS1jb3VudCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXItLWJsb2NrLS1leHRlbmQtLWNvdW50LS1udW1iZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmUwYTY2OyB9XG4gICAgICAgICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyLS1ibG9jay0tZXh0ZW5kLS1jb3VudC0tdHh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gICAgLnJlY2lwZUhlYWRlci0tY29udGFpbmVyIC5yZWNldHRlX2ltZyB7XG4gICAgICBoZWlnaHQ6IDU0MHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAucmVjaXBlSGVhZGVyLS1jb250YWluZXIgLnJlY2V0dGVfaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cblxuLnJlY2lwZUluZm9CYXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmRkZGQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5yZWNpcGVJbmZvQmFyLS1pbmZvIHtcbiAgICBtaW4td2lkdGg6IDEyLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogLTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnJlY2lwZUluZm9CYXItLWluZm8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMCU7IH0gfVxuICAgIC5yZWNpcGVJbmZvQmFyLS1pbmZvLS1jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMCU7IH1cblxuLnJlY2lwZVByZXBhcmF0aW9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZWNpcGVQcmVwYXJhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIC5yZWNpcGVQcmVwYXJhdGlvbi0tcHJlcGEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICAucmVjaXBlUHJlcGFyYXRpb24tLXByZXBhIHtcbiAgICAgICAgcGFkZGluZzogMCAxNSUgMCA1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucmVjaXBlUHJlcGFyYXRpb24tLXByZXBhIHtcbiAgICAgICAgcGFkZGluZzogNSUgMTAlOyB9IH1cbiAgICAucmVjaXBlUHJlcGFyYXRpb24tLXByZXBhLS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnJlY2lwZVByZXBhcmF0aW9uLS1wcmVwYS0tc3RlcC0tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICAucmVjaXBlUHJlcGFyYXRpb24tLXByZXBhLS1zdGVwLS10eHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIC5yZWNpcGVQcmVwYXJhdGlvbi0taW5ncmUge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgLnJlY2lwZVByZXBhcmF0aW9uLS1pbmdyZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNSUgMCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5yZWNpcGVQcmVwYXJhdGlvbi0taW5ncmUge1xuICAgICAgICBwYWRkaW5nOiA1JSAxMCU7IH0gfVxuICAgIC5yZWNpcGVQcmVwYXJhdGlvbi0taW5ncmUtLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucmVjaXBlUHJlcGFyYXRpb24tLWluZ3JlLS1zdGVwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7IH1cblxuLnJlY2lwZVJlbGF0ZWQtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucmVjaXBlUmVsYXRlZC0tcmVjaXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yZWNpcGVSZWxhdGVkLS1yZWNpcGUtLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucmVjaXBlUmVsYXRlZC0tcmVjaXBlLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5yZWNpcGVSZWxhdGVkLS1yZWNpcGUtLXRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTsgfSB9XG5cbi5yZWNpcGVSZWxhdGVkLS1saW5lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGRkZDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3RSZWxhdGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4uY29udGVudE5hdHRpdHVkZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNvbnRlbnROYXR0aXR1ZGUgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uY29sb3JpYWdlX2luZm86bnRoLWNoaWxkKG9kZCkge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb2xvcmlhZ2VfaW5mbzpudGgtY2hpbGQob2RkKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuLmNvbG9yaWFnZV9pbmZvOm50aC1jaGlsZChldmVuKSB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29sb3JpYWdlX2luZm86bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG5cbi5jb2xvcmlhZ2VfaW5mbyA+IGgyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uY29sb3JpYWdlX2luZm8gLmltYWdlX2NvbG9yaWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbG9yaWFnZV9pbmZvIC5pbWFnZV9jb2xvcmlhZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sb3JpYWdlX2luZm8gLmltYWdlX2NvbG9yaWFnZSBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzOyB9XG4gICAgLmNvbG9yaWFnZV9pbmZvIC5pbWFnZV9jb2xvcmlhZ2UgZGl2IGgyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jb2xvcmlhZ2VfaW5mbyAuaW1hZ2VfY29sb3JpYWdlOmhvdmVyIGRpdiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF0dGl0dWRlLWZpbmFsLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiA1MHB4IDA7IH1cbiAgLm5hdHRpdHVkZS1maW5hbC1jb250YWluZXJfX2ZpbmFsIHtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIwNDQzMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzOyB9XG4gICAgLm5hdHRpdHVkZS1maW5hbC1jb250YWluZXJfX2ZpbmFsIC5jbGljIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm5hdHRpdHVkZS1maW5hbC1jb250YWluZXJfX2ZpbmFsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7IH1cbiAgICAgIC5uYXR0aXR1ZGUtZmluYWwtY29udGFpbmVyX19maW5hbDpob3ZlciBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmZsZXhfY29sb3JpYWdlIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4ucG9wdXAtaW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjhweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzA7XG4gIGJveC1zaGFkb3c6IDBweCAycHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvcHVwLWluZm8ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5wb3B1cC1pbmZvIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGhlaWdodDogMjhweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9wdXAtaW5mbyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS45NjM7IH0gfVxuXG4ubmV3c1BvcHVwLmpzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjZlMztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3gge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiA2ODVweDtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94IHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgaGVpZ2h0OiA1NzBweDsgfSB9XG4gICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY2xvc2VCdXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIHRvcDogLTclO1xuICAgICAgd2lkdGg6IDMuMyU7XG4gICAgICBoZWlnaHQ6IDI1JTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZS5zdmdcIik7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2Uuc3ZnXCIpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY2xvc2VCdXR0b24ge1xuICAgICAgICAgIHRvcDogLTYlOyB9IH1cbiAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZzogMCA4JTtcbiAgICAgIHotaW5kZXg6IDEyO1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICAgIGhlaWdodDogODUlO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50IHtcbiAgICAgICAgICBtYXJnaW46IDcwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCA0NXB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2xvZ28ge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIGhlaWdodDogMTE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMTdweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMjklOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50IHAge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjogIzZmOTkzMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsgfSB9XG4gICAgICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fZm9ybSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGVhZGluZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZnBfZ2Zvcm1fZW1haWwgLmdpbnB1dF9jb250YWluZXIgaW5wdXQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDZweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIwNDQzMzsgfVxuICAgICAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZnBfZ2Zvcm1fY2hlY2tib3ggbGVnZW5kIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZnBfZ2Zvcm1fY2hlY2tib3ggLmdpbnB1dF9jb250YWluZXIgLmdjaG9pY2Uge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5mcF9nZm9ybV9jaGVja2JveCAuZ2lucHV0X2NvbnRhaW5lciAuZ2Nob2ljZSBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmZwX2dmb3JtX2NoZWNrYm94IC5naW5wdXRfY29udGFpbmVyIC5nY2hvaWNlIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgICAgICAgICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmZwX2dmb3JtX2NoZWNrYm94IC5naW5wdXRfY29udGFpbmVyIC5nY2hvaWNlIGxhYmVsIGEge1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAgIC5uZXdzUG9wdXBfX2Z1bGxDb250YWluZXJfX2JveF9fY29udGVudF9fZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmZwX2dmb3JtX2NoZWNrYm94IC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciBpbnB1dCB7XG4gICAgICAgICAgICAgIGJvcmRlcjogI2MyZDY0OSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBjb2xvcjogIzIwNDQzMyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJkNjQ5ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5ld3NQb3B1cF9fZnVsbENvbnRhaW5lcl9fYm94X19jb250ZW50X19mb3JtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmFjY2VwdF9tZXNzYWdlLFxuICAgICAgICAubmV3c1BvcHVwX19mdWxsQ29udGFpbmVyX19ib3hfX2NvbnRlbnRfX2Zvcm0gLmJ1dHRvbl90ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5uYS10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29udGFjdC0taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbnRhY3QtLWhlYWRlci0taW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGFjdC0taW50cm8ge1xuICBtYXJnaW4tdG9wOiA3MHB4OyB9XG4gIC5jb250YWN0LS1pbnRyby0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjA7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY29udGFjdC0taW50cm8tLXR4dCB7XG4gICAgZm9udC1zaXplOiAxNDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IH1cbiAgLmNvbnRhY3QtLWludHJvLS1pbnRybyBwIHtcbiAgICBmb250LXNpemU6IDE3O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07IH1cbiAgICAuY29udGFjdC0taW50cm8tLWludHJvIHAgYSB7XG4gICAgICBjb2xvcjogIzZmOTkzMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4yczsgfVxuICAgICAgLmNvbnRhY3QtLWludHJvLS1pbnRybyBwIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNvbnRhY3QtLWluZm8ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuY29udGFjdC0taW5mby0tdGVsLCAuY29udGFjdC0taW5mby0tYWRyZXNzLCAuY29udGFjdC0taW5mby0tbWFpbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgLmNvbnRhY3QtLWluZm8tLXRlbC0tdGl0bGUsIC5jb250YWN0LS1pbmZvLS1hZHJlc3MtLXRpdGxlLCAuY29udGFjdC0taW5mby0tbWFpbC0tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgZm9udC1zaXplOiAyMDtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmNvbnRhY3QtLWluZm8tLXRlbC0tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDE0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbnRhY3QtLWluZm8tLWFkcmVzcy0tdHh0IHtcbiAgICBmb250LXNpemU6IDE0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAuY29udGFjdC0taW5mby0tbWFpbC0tdHh0IHtcbiAgICBmb250LXNpemU6IDE0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNvbnRhY3QtLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbnRhY3QtLWZvcm0gLmNvY2hlLXJncGQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAuY29udGFjdC0tZm9ybSAuY29jaGUtcmdwZCAuZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgLmNvbnRhY3QtLWZvcm0gLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb250YWN0LS1mb3JtIC5mcF9nZm9ybV9tZWRpdW0ge1xuICAgIHdpZHRoOiA0NyU7IH1cbiAgLmNvbnRhY3QtLWZvcm0gLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0sIC5jb250YWN0LS1mb3JtIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgc2VsZWN0Lm1lZGl1bSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkOyB9XG4gIC5jb250YWN0LS1mb3JtIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQubWVkaXVtOjpwbGFjZWhvbGRlciwgLmNvbnRhY3QtLWZvcm0gLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBzZWxlY3QubWVkaXVtOjpwbGFjZWhvbGRlciwgLmNvbnRhY3QtLWZvcm0gLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY29udGFjdC0tZm9ybSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0Lm1lZGl1bTpmb2N1cywgLmNvbnRhY3QtLWZvcm0gLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBzZWxlY3QubWVkaXVtOmZvY3VzIHtcbiAgICBjb2xvcjogIzZmOTkzMDsgfVxuICAuY29udGFjdC0tZm9ybSAjaW5wdXRfMV80IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29udGFjdC0tZm9ybSAjaW5wdXRfMV85IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdHJpYW5nbGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5jb250YWN0LS1mb3JtIC5nZm9ybV93cmFwcGVyIHVsIGxpLmdmaWVsZCB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY29udGFjdC0tZm9ybSAuZ2Zvcm1fd3JhcHBlciB1bCBsaS5nZmllbGQgLmdmaWVsZF9lcnJvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAxYTQ1ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5jb250YWN0LS1mb3JtIC5nZm9ybV93cmFwcGVyIHVsIGxpLmdmaWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIC5jb250YWN0LS1mb3JtIC5mb3JtLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5jb250YWN0LS1mb3JtIC5mb3JtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbnRhY3QtLWZvcm0gLmZvcm0tYWxsIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29udGFjdC0tZm9ybSAuZm9ybS1tZXNzYWdlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jb250YWN0LS1mb3JtIC5mb3JtLW1lc3NhZ2UgdGV4dGFyZWEge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuY29udGFjdC0tZm9ybSAjZ2Zvcm1fc3VibWl0X2J1dHRvbl8xIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDE3cHggMjhweDtcbiAgICBmb250LXNpemU6IDE0O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY5OTMwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmNvbnRhY3QtLWZvcm0gI2dmb3JtX3N1Ym1pdF9idXR0b25fMTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDMzOyB9XG4gIC5jb250YWN0LS1mb3JtLS1pbmZvIHtcbiAgICBjb2xvcjogI2YyMWM3NztcbiAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIGZvbnQtc2l6ZTogMTQ7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNvbnRhY3QtLWZvcm0tLWluZm8ge1xuICAgICAgICBib3R0b206IDgwcHg7IH0gfVxuXG4uY29udGFjdC0tcHJlc3Mge1xuICBtYXJnaW4tdG9wOiAxNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAuY29udGFjdC0tcHJlc3MtLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmRkZGQ7XG4gICAgcGFkZGluZy10b3A6IDQ3cHg7IH1cbiAgICAuY29udGFjdC0tcHJlc3MtLWNvbnRhaW5lci0taW50cm8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgLmNvbnRhY3QtLXByZXNzLS1jb250YWluZXItLWludHJvLS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY29udGFjdC0tcHJlc3MtLWNvbnRhaW5lci0taW50cm8tLXR4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAgIC5jb250YWN0LS1wcmVzcy0tY29udGFpbmVyLS1maWxlLS1ncm91cGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5jb250YWN0LS1wcmVzcy0tY29udGFpbmVyLS1maWxlLS1ncm91cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAgICAgLmNvbnRhY3QtLXByZXNzLS1jb250YWluZXItLWZpbGUtLWdyb3VwZS0tdHh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgICAgLmNvbnRhY3QtLXByZXNzLS1jb250YWluZXItLWZpbGUtLWdyb3VwZS0tdHh0LS1uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDE3O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgY29sb3I6ICM2Zjk5MzA7IH1cbiAgICAgICAgLmNvbnRhY3QtLXByZXNzLS1jb250YWluZXItLWZpbGUtLWdyb3VwZS0tdHh0LS1kYXRlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE3O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmNvbnRhY3QtLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNvbnRhY3QtLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgNSU7IH0gfVxuXG4uY29udGFjdC1ib3JkZXItdXBGZWVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkZGRkOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciAuZ2Zvcm1fYm9keSB1bCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yOm5vdCguZ2ZfbGVmdF9oYWxmKTpub3QoLmdmX3JpZ2h0X2hhbGYpIHtcbiAgICB3aWR0aDogNDclOyB9IH1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNmYWZCZWM7IH1cbiAgLmZvb3Rlcl9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDM0cHg7IH1cbiAgICAuZm9vdGVyX19jb250ZW50IC5yb3cge1xuICAgICAgbWF4LXdpZHRoOiAxMTByZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fbG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX2xvZ28gaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19tZW51IHVsIHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fbWVudSB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19tZW51IHVsIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fbWVudSB1bCBsaSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbSAwLjdyZW0gMDsgfVxuICAgICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX21lbnUgdWwgbGk6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2hldnJvbi1ncmVlbi5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX21lbnUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgICAuZm9vdGVyX19jb250ZW50X190b3BfX3NoYXJlIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMjA0NDMzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fc2hhcmUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX3NoYXJlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19zaGFyZSB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fc2hhcmUgdWwge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH0gfVxuICAgICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX3NoYXJlIHVsIGxpIHtcbiAgICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX3NoYXJlIHVsIGxpLnlvdXR1YmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3lvdXR1YmVfYmxhY2suc3ZnXCIpOyB9XG4gICAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19zaGFyZSB1bCBsaS5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2luc3RhZ3JhbV9ibGFjay5zdmdcIik7IH1cbiAgICAgICAgICAuZm9vdGVyX19jb250ZW50X190b3BfX3NoYXJlIHVsIGxpLmZhY2Vib29rIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mYWNlYm9va19ibGFjay5zdmdcIik7IH1cbiAgICAuZm9vdGVyX19jb250ZW50X190b3BfX25ld3NsZXR0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMyMDQ0MzM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7IH1cbiAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIGZvcm0ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIGZvcm0ge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjkwcHg7IH1cbiAgICAgICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fbmV3c2xldHRlciAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMmQ2NDk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHB4OyB9XG4gICAgICAgICAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAgIC5mb290ZXJfX2NvbnRlbnRfX3RvcF9fbmV3c2xldHRlciAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgLmZvb3Rlcl9fY29udGVudF9fdG9wX19uZXdzbGV0dGVyIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQ0MzM7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5mb290ZXJfX2NvbnRlbnRfX2JvdHRvbSB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNmY5OTMwOyB9XG4gICAgICAuZm9vdGVyX19jb250ZW50X19ib3R0b21fX21lbnUgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuZm9vdGVyX19jb250ZW50X19ib3R0b21fX21lbnUgdWwge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5pbi1mZWVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbi1mZWVkIGgxLFxuICAuaW4tZmVlZCBoMixcbiAgLmluLWZlZWQgaDMsXG4gIC5pbi1mZWVkIGg0LFxuICAuaW4tZmVlZCBoNSxcbiAgLmluLWZlZWQgaDYge1xuICAgIG1hcmdpbi10b3A6IDIuMTg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gNHJlbTtcbiAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC1zaXplOiAyLjE4NzVlbTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtOyB9XG4gICAgLmluLWZlZWQgaDE6OmFmdGVyLCAuaW4tZmVlZCBoMTpiZWZvcmUsXG4gICAgLmluLWZlZWQgaDI6OmFmdGVyLFxuICAgIC5pbi1mZWVkIGgyOmJlZm9yZSxcbiAgICAuaW4tZmVlZCBoMzo6YWZ0ZXIsXG4gICAgLmluLWZlZWQgaDM6YmVmb3JlLFxuICAgIC5pbi1mZWVkIGg0OjphZnRlcixcbiAgICAuaW4tZmVlZCBoNDpiZWZvcmUsXG4gICAgLmluLWZlZWQgaDU6OmFmdGVyLFxuICAgIC5pbi1mZWVkIGg1OmJlZm9yZSxcbiAgICAuaW4tZmVlZCBoNjo6YWZ0ZXIsXG4gICAgLmluLWZlZWQgaDY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9jaXRhdGlvbi5wbmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuaW4tZmVlZCBoMTo6YWZ0ZXIsXG4gICAgLmluLWZlZWQgaDI6OmFmdGVyLFxuICAgIC5pbi1mZWVkIGgzOjphZnRlcixcbiAgICAuaW4tZmVlZCBoNDo6YWZ0ZXIsXG4gICAgLmluLWZlZWQgaDU6OmFmdGVyLFxuICAgIC5pbi1mZWVkIGg2OjphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpXFw5OyB9XG4gICAgLmluLWZlZWQgaDE6YmVmb3JlLFxuICAgIC5pbi1mZWVkIGgyOmJlZm9yZSxcbiAgICAuaW4tZmVlZCBoMzpiZWZvcmUsXG4gICAgLmluLWZlZWQgaDQ6YmVmb3JlLFxuICAgIC5pbi1mZWVkIGg1OmJlZm9yZSxcbiAgICAuaW4tZmVlZCBoNjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMC42MjVyZW07IH1cblxuI3ZhbHVlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnZhbHVlLW1hcmdlIHtcbiAgcGFkZGluZy10b3A6IDMuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudmFsdWUtbWFyZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnZhbHVlLW1hcmdlLXZpZGVvIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfVxuXG4udmFsdWUtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52YWx1ZS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMXJlbSAyLjVyZW0gMnJlbSAyLjVyZW07IH0gfVxuICAudmFsdWUtY29udGFpbmVyID4gcCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nOiAwIDYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC52YWx1ZS1jb250YWluZXIgPiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NWVtO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnZhbHVlLWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogIzIwNDQzMzsgfVxuICAudmFsdWUtY29udGFpbmVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmFsdWUtY29udGFpbmVyIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC52YWx1ZS1jb250YWluZXIgdWwgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogIzQ0NDQ0NDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZhbHVlLWNvbnRhaW5lciB1bCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfSB9XG4gICAgLnZhbHVlLWNvbnRhaW5lciB1bCBwIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC52YWx1ZS1jb250YWluZXIgdWwgcCBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07IH0gfVxuICAudmFsdWUtY29udGFpbmVyIGEge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudmFsdWUtY29udGFpbmVyIGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnZhbHVlLWNvbnRhaW5lciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnZhbHVlLWNvbnRhaW5lciBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnZhbHVlLWNvbnRhaW5lciBsaSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweCAwIDQwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgIC52YWx1ZS1jb250YWluZXIgbGkgLmltZy0xLFxuICAgIC52YWx1ZS1jb250YWluZXIgbGkgLmltZy0yLFxuICAgIC52YWx1ZS1jb250YWluZXIgbGkgLmltZy0zIHtcbiAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTUwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAuMnMgZWFzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudmFsdWUtY29udGFpbmVyIGxpIC5pbWctMSxcbiAgICAgICAgLnZhbHVlLWNvbnRhaW5lciBsaSAuaW1nLTIsXG4gICAgICAgIC52YWx1ZS1jb250YWluZXIgbGkgLmltZy0zIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudmFsdWUtY29udGFpbmVyIGxpIC5pbWctMSxcbiAgICAgICAgLnZhbHVlLWNvbnRhaW5lciBsaSAuaW1nLTIsXG4gICAgICAgIC52YWx1ZS1jb250YWluZXIgbGkgLmltZy0zIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC52YWx1ZS1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLnBvbW1lLFxuLmZyYW1ib2lzZSxcbi5vcmFuZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5wb21tZSB7XG4gIHRvcDogMnJlbTtcbiAgbGVmdDogLTNyZW07XG4gIHdpZHRoOiA1LjI1cmVtO1xuICBoZWlnaHQ6IDEwcmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG9tbWUucG5nXCIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wb21tZSB7XG4gICAgICBoZWlnaHQ6IDYuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvbW1lIHtcbiAgICAgIHdpZHRoOiA3cmVtOyB9IH1cblxuLmZyYW1ib2lzZSB7XG4gIHRvcDogNHJlbTtcbiAgcmlnaHQ6IC00cmVtO1xuICB3aWR0aDogNS41cmVtO1xuICBoZWlnaHQ6IDEwLjkzNzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mcmFuYm9pc2UucG5nXCIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5mcmFtYm9pc2Uge1xuICAgICAgdG9wOiAyNSU7XG4gICAgICByaWdodDogLTIuNXJlbTtcbiAgICAgIGhlaWdodDogNy41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mcmFtYm9pc2Uge1xuICAgICAgd2lkdGg6IDkuODEyNXJlbTsgfSB9XG5cbi5vcmFuZ2Uge1xuICBib3R0b206IDIlO1xuICBsZWZ0OiAtNHJlbTtcbiAgd2lkdGg6IDdyZW07XG4gIGhlaWdodDogMTIuMTg3NXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29yYW5nZS5wbmdcIik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmFuZ2Uge1xuICAgICAgd2lkdGg6IDEyLjVyZW07XG4gICAgICBib3R0b206IC0yJTsgfSB9XG5cbi5uYS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogMjAwOyB9XG4gIC5uYS10aXRsZSBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBmb250LXNpemU6IDI5cHg7XG4gICAgZm9udC1zaXplOiAxLjgxMjVlbTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpXFw5OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAubmEtdGl0bGUgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjQzNzVlbTsgfSB9XG5cbi52aWRlby1ob21lX19jb250YWluZXIgLm5hLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4udmlkZW8taG9tZV9fY29udGFpbmVyX192aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52aWRlby1ob21lX19jb250YWluZXJfX3ZpZGVvOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiA1MyU7XG4gICAgY29udGVudDogXCJcIjsgfVxuICAudmlkZW8taG9tZV9fY29udGFpbmVyX192aWRlbyBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDsgfVxuXG4udmlkZW8taG9tZV9fY29udGFpbmVyX19idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAudmlkZW8taG9tZV9fY29udGFpbmVyX19idXR0b24gYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjA0NDMzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBvcHVwLWdhbWVfX2JnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwNDI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucG9wdXAtZ2FtZV9fYmcuaXMtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucG9wdXAtZ2FtZV9fd3JhcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLnBvcHVwLWdhbWVfX3dyYXAuaXMtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jbW9kYWwtZ2FtZSB7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAjbW9kYWwtZ2FtZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wb3B1cC1nYW1lX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAucG9wdXAtZ2FtZV9fY2xvc2U6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTJweDtcbiAgICByaWdodDogLTNweDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAucG9wdXAtZ2FtZV9fY2xvc2U6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIGxlZnQ6IDdweDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLmdhbWVfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5nYW1lX190aXRsZSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuXG4uZ2FtZSAuYmxvYy1hbGlnbiBoMyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4NmEyMGI7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLmdhbWUgLmJsb2MtYWxpZ24gaDQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjY2M4MjNmO1xuICBmb250LXNpemU6IDQ1cHg7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5nYW1lIC5ibG9jLWFsaWduIHAge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5nYW1lX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgLmdhbWVfX2NvbnRlbnQgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDMge1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUsXG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDMge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlLFxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICBtYXJnaW46IDAgMCAwLjZyZW0gMHJlbTsgfVxuXG4ud29vY29tbWVyY2UtdmFyaWF0aW9uLWFkZC10by1jYXJ0IHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbi5zaW5nbGUtcHJvZHVjdCAudmFyaWF0aW9ucyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG5cbi53b29jb21tZXJjZS1QcmljZS1hbW91bnQuYW1vdW50Om50aC1jaGlsZCgxKSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnByaWNlX2Zyb20gLmFtb3VudC10ZXh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2luZ2xlX3ZhcmlhdGlvbl93cmFwIC53b29jb21tZXJjZS12YXJpYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnNpbmdsZV92YXJpYXRpb25fd3JhcCAuc2luZ2xlX3ZhcmlhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpbmdsZV92YXJpYXRpb25fd3JhcCAuc2luZ2xlX3ZhcmlhdGlvbiAud29vY29tbWVyY2UtdmFyaWF0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMjsgfVxuICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIC5zaW5nbGVfdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tcHJpY2Uge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zaW5nbGVfdmFyaWF0aW9uX3dyYXAgLnNpbmdsZV92YXJpYXRpb24gLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hdmFpbGFiaWxpdHkge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5zaW5nbGVfdmFyaWF0aW9uX3dyYXAgLnNpbmdsZV92YXJpYXRpb24gLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1kZXNjcmlwdGlvbixcbiAgLnNpbmdsZV92YXJpYXRpb25fd3JhcCAuc2luZ2xlX3ZhcmlhdGlvbiAud29vY29tbWVyY2UtdmFyaWF0aW9uLXByaWNlLFxuICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIC5zaW5nbGVfdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIC5zaW5nbGVfdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tZGVzY3JpcHRpb24gcCxcbiAgICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIC5zaW5nbGVfdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tcHJpY2UgcCxcbiAgICAuc2luZ2xlX3ZhcmlhdGlvbl93cmFwIC5zaW5nbGVfdmFyaWF0aW9uIC53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5zaW5nbGVfdmFyaWF0aW9uX3dyYXAgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzk3OTc5NzsgfVxuXG4ucG9zdC01MCBoMiwgLndvb2NvbW1lcmNlLWNhcnQgaDIsIC5wb3N0LTE1NTQgaDIge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBvc3QtNTAgLnByb2R1Y3QtcHJpY2UsIC5wb3N0LTUwIC5wcm9kdWN0LXN1YnRvdGFsLCAud29vY29tbWVyY2UtY2FydCAucHJvZHVjdC1wcmljZSwgLndvb2NvbW1lcmNlLWNhcnQgLnByb2R1Y3Qtc3VidG90YWwsIC5wb3N0LTE1NTQgLnByb2R1Y3QtcHJpY2UsIC5wb3N0LTE1NTQgLnByb2R1Y3Qtc3VidG90YWwge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnBvc3QtNTAgLmFjdGlvbnMsIC53b29jb21tZXJjZS1jYXJ0IC5hY3Rpb25zLCAucG9zdC0xNTU0IC5hY3Rpb25zIHtcbiAgcGFkZGluZzogMS4xMjVyZW0gMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wb3N0LTUwIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEsIC53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEsIC5wb3N0LTE1NTQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLndvb2NvbW1lcmNlLWNhcnQgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgIG1pbi1oZWlnaHQ6IDU2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLndvb2NvbW1lcmNlLWNhcnQgLnByb2R1Y3QtcXVhbnRpdHkgLnF1YW50aXR5IHtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ud29vY29tbWVyY2UtY2FydCAucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHktbmF2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0M3B4O1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiAuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiAxMjVweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscywgLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNyb3NzLXNlbGxzLCAuY3Jvc3Mtc2VsbHMge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ud29vY29tbWVyY2UtY2FydCAuY2FydC1jb2xsYXRlcmFscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5wb3N0LTUxIGgyLCAucG9zdC0xNTU2IGgyIHtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucG9zdC01MSBoMywgLnBvc3QtMTU1NiBoMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wb3N0LTUxIC5jb250ZW50IHVsOm5vdCguZ2Zvcm1fZmllbGRzKSBsaTo6YmVmb3JlLCAucG9zdC0xNTU2IC5jb250ZW50IHVsOm5vdCguZ2Zvcm1fZmllbGRzKSBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucG9zdC01MSAucGxhY2Utb3JkZXIgLmJ1dHRvbiwgLnBvc3QtMTU1NiAucGxhY2Utb3JkZXIgLmJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW0gIWltcG9ydGFudDsgfVxuXG4ucG9zdC01MSAud29vY29tbWVyY2Utb3JkZXIgLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVkLCAucG9zdC0xNTU2IC53b29jb21tZXJjZS1vcmRlciAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItcmVjZWl2ZWQge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBtYXJnaW46IDEuMjVyZW0gMCAyLjVyZW0gMDsgfVxuXG4ucG9zdC01MSAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIC5zZWxlY3QyLWNvbnRhaW5lcixcbi5wb3N0LTUxIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCxcbi5wb3N0LTUxIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgc2VsZWN0LCAucG9zdC0xNTU2IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgLnNlbGVjdDItY29udGFpbmVyLFxuLnBvc3QtMTU1NiAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIGlucHV0LmlucHV0LXRleHQsXG4ucG9zdC0xNTU2IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMC4zcmVtIDAuMXJlbSAwLjJyZW0gMHJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAucG9zdC01MSAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxuICAucG9zdC01MSAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIGlucHV0LmlucHV0LXRleHQgLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb24uc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSxcbiAgLnBvc3QtNTEgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93Lndvb2NvbW1lcmNlLXZhbGlkYXRlZCBzZWxlY3QgLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb24uc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnBvc3QtMTU1NiAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxuICAucG9zdC0xNTU2IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgaW5wdXQuaW5wdXQtdGV4dCAuc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbi5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxuICAucG9zdC0xNTU2IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgc2VsZWN0IC5zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi5wb3N0LTUxIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LCAucG9zdC0xNTU2IC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7IH1cblxuLnBvc3QtNTEgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsIC5wb3N0LTE1NTYgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ucG9zdC01MSAuY29udGVudCB1bDpub3QoLmdmb3JtX2ZpZWxkcykgbGk6OmJlZm9yZSwgLnBvc3QtMTU1NiAuY29udGVudCB1bDpub3QoLmdmb3JtX2ZpZWxkcykgbGk6OmJlZm9yZSB7XG4gIHdpZHRoOiAwOyB9XG5cbi5wb3N0LTUxIC53b29jb21tZXJjZS1pbmZvLCAucG9zdC0xNTU2IC53b29jb21tZXJjZS1pbmZvIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzZmOTkzMDsgfVxuXG4ucG9zdC01MSAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlLCAucG9zdC0xNTU2IC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUge1xuICBjb2xvcjogIzZmOTkzMDsgfVxuXG4ucG9zdC01MSAuZm9ybXVsYWlyZS1uZXdzbGV0dGVyX3dyYXBwZXIsIC5wb3N0LTE1NTYgLmZvcm11bGFpcmUtbmV3c2xldHRlcl93cmFwcGVyIHtcbiAgbWFyZ2luOiAyNXB4IDAgNTBweCAwOyB9XG4gIC5wb3N0LTUxIC5mb3JtdWxhaXJlLW5ld3NsZXR0ZXJfd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC5nZm9ybV9mb290ZXIsIC5wb3N0LTE1NTYgLmZvcm11bGFpcmUtbmV3c2xldHRlcl93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLmdmb3JtX2Zvb3RlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbi5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyLCAucG9zdC0xNTU2IGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucG9zdC01MSBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1faGVhZGluZyBoMywgLnBvc3QtMTU1NiBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1faGVhZGluZyBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMyMDQ0MzM7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBvc3QtNTEgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2hlYWRpbmcgaDMsIC5wb3N0LTE1NTYgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2hlYWRpbmcgaDMge1xuICAgICAgICBmb250LXNpemU6IDIxcHggIWltcG9ydGFudDsgfSB9XG4gIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5LCAucG9zdC0xNTU2IGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IHtcbiAgICB3aWR0aDogMzUlO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucG9zdC01MSBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1fYm9keSwgLnBvc3QtMTU1NiBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1fYm9keSB7XG4gICAgICAgIHdpZHRoOiA4MCU7IH0gfVxuICAgIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IGRpdi5naW5wdXRfY29udGFpbmVyLCAucG9zdC0xNTU2IGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IGRpdi5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBvc3QtNTEgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXItZW1haWwsIC5wb3N0LTE1NTYgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXItZW1haWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBvc3QtNTEgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXItZW1haWwgbGFiZWwsIC5wb3N0LTE1NTYgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLm5ld3NsZXR0ZXItZW1haWwgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5uZXdzbGV0dGVyLWVtYWlsLmdmaWVsZF9lcnJvciBsYWJlbCwgLnBvc3QtMTU1NiBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAubmV3c2xldHRlci1lbWFpbC5nZmllbGRfZXJyb3IgbGFiZWwge1xuICAgICAgY29sb3I6ICMyMDQ0MzM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucG9zdC01MSBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAudmFsaWRhdGlvbl9lcnJvciwgLnBvc3QtMTU1NiBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucG9zdC01MSBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1fYm9keSB1bCBsaSwgLnBvc3QtMTU1NiBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1fYm9keSB1bCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBvc3QtNTEgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2JvZHkgdWwgbGkuZ2ZpZWxkX2Vycm9yLCAucG9zdC0xNTU2IGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZF9lcnJvciB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLnBvc3QtNTEgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2JvZHkgdWwgbGkgaW5wdXRbdHlwZT1cInRleHRcIl0sIC5wb3N0LTE1NTYgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2JvZHkgdWwgbGkgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDIuMjM3NXJlbTsgfVxuICAgIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IHVsIGxpIC52YWxpZGF0aW9uX21lc3NhZ2UsIC5wb3N0LTE1NTYgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2JvZHkgdWwgbGkgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IHVsIGxpIC52YWxpZGF0aW9uX21lc3NhZ2UuZ2ZpZWxkX2Rlc2NyaXB0aW9uLCAucG9zdC0xNTU2IGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9ib2R5IHVsIGxpIC52YWxpZGF0aW9uX21lc3NhZ2UuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAucG9zdC01MSBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1fZm9vdGVyLCAucG9zdC0xNTU2IGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9mb290ZXIge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9mb290ZXIsIC5wb3N0LTE1NTYgZm9ybS5mb3JtdWxhaXJlLW5ld3NsZXR0ZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgIC5wb3N0LTUxIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLnBvc3QtMTU1NiBmb3JtLmZvcm11bGFpcmUtbmV3c2xldHRlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZmOTkzMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBvc3QtNTEgLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlLCAucG9zdC0xNTU2IC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiAjMjA0NDMzOyB9XG5cbi5wb3N0LTUxIC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyBwIGxhYmVsIHNwYW4ge1xuICBmb250LXNpemU6IDIzcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5wYXltZW50X21ldGhvZF9wYXlwYWwgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLndjX3BheW1lbnRfbWV0aG9kOjpiZWZvcmUsIC53Y19wYXltZW50X21ldGhvZDo6YWZ0ZXIge1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNob3AtY29udGFpbmVyIC5ibG9jLXNpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2hvcC1jb250YWluZXIgLmJsb2Mtc2lkZWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHNfX2l0ZW1zIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zaG9wLWNvbnRhaW5lciAuZmlsdGVyLXByb2R1Y3RzX19pdGVtcyB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zaG9wLWNvbnRhaW5lciAuZmlsdGVyLXByb2R1Y3RzX19pdGVtcyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHNfX2l0ZW1zIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjMjA0NDMzOyB9XG4gICAgICAuc2hvcC1jb250YWluZXIgLmZpbHRlci1wcm9kdWN0c19faXRlbXMgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjNmY5OTMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgICAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHNfX2l0ZW1zIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgICAgICAgLnNob3AtY29udGFpbmVyIC5maWx0ZXItcHJvZHVjdHNfX2l0ZW1zIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9jaGVja19uYS5zdmdcIik7IH1cbiAgLnNob3AtY29udGFpbmVyIC5ibG9jLXNpZGViYXItcmVzcG9uc2l2ZSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmYTtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaG9wLWNvbnRhaW5lciAuYmxvYy1zaWRlYmFyLXJlc3BvbnNpdmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2hvcC1jb250YWluZXIgLmJsb2Mtc2lkZWJhci1yZXNwb25zaXZlIC5maWx0ZXItcHJvZHVjdHMge1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC5zaG9wLWNvbnRhaW5lciAuanMtbW9yZS1wcm9kdWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuXG4ueG9vLXdzYy1oZWFkZXIgLm1lc3NhZ2Uge1xuICBwYWRkaW5nOiA0MHB4IDMwcHggMCAzMHB4OyB9XG4gIC54b28td3NjLWhlYWRlciAubWVzc2FnZSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzJhNDIzNTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYmxvZy1oZWFkZXJfX2Rlc2NyaXB0aW9uIHAge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMjA0NDMzO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ibG9nLWhlYWRlcl9fY2F0ZWdvcmllcyB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYmxvZy1oZWFkZXJfX2NhdGVnb3JpZXMgdWwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5ibG9nLWhlYWRlcl9fY2F0ZWdvcmllcyB1bCBsaSB7XG4gICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAuYmxvZy1oZWFkZXJfX2NhdGVnb3JpZXMgdWwgbGkgYSB7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBmb250LXNpemU6IDEuNDM3NWVtO1xuICAgICAgY29sb3I6ICMyMDQ0MzM7XG4gICAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7IH1cbiAgICAgIC5ibG9nLWhlYWRlcl9fY2F0ZWdvcmllcyB1bCBsaSBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNDQzMzsgfVxuICAgIC5ibG9nLWhlYWRlcl9fY2F0ZWdvcmllcyB1bCBsaTpob3ZlciBhLCAuYmxvZy1oZWFkZXJfX2NhdGVnb3JpZXMgdWwgbGkuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICM2Zjk5MzA7IH1cbiAgICAgIC5ibG9nLWhlYWRlcl9fY2F0ZWdvcmllcyB1bCBsaTpob3ZlciBhOjphZnRlciwgLmJsb2ctaGVhZGVyX19jYXRlZ29yaWVzIHVsIGxpLmlzLWFjdGl2ZSBhOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY5OTMwOyB9XG5cbi5ibG9nLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5ibG9nLWNvbnRlbnRfX2NhdGVnb3J5LWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjNmY5OTMwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuYmxvZy1jb250ZW50IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmJsb2ctY29udGVudF9fd3JhcDpub3QoLmZpcnN0LWFydGljbGUpIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIC5ibG9nLWNvbnRlbnRfX2l0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9XG4gICAgLmJsb2ctY29udGVudF9faXRlbSBoMiB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQnJ5bmRhblwiLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICM2Zjk5MzA7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuYmxvZy1jb250ZW50X19pdGVtIGgyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5ibG9nLWNvbnRlbnRfX2l0ZW0tLWNvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmJsb2ctY29udGVudF9faXRlbS0tY29udGVudCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAuYmxvZy1jb250ZW50X19pdGVtLS1idXR0b24gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY5OTMwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2Zjk5MzA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7IH1cbiAgICAgIC5ibG9nLWNvbnRlbnRfX2l0ZW0tLWJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjNmY5OTMwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmJsb2ctY29udGVudF9faXRlbS0tYnV0dG9uIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmJsb2ctY29udGVudF9faXRlbS0tYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmJsb2ctY29udGVudCAud3AtcGFnZW5hdmkge1xuICAgIG1hcmdpbjogNDBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2luZ2xlLWFydGljbGUgaDEge1xuICBmb250LXNpemU6IDYwcHg7XG4gIGZvbnQtc2l6ZTogMy43NWVtO1xuICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjNmY5OTMwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW46IDIwcHggMDsgfVxuXG4uc2luZ2xlLWFydGljbGUgaDIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMS43NWVtO1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMyMDQ0MzM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMjBweCAwIDQwcHggMDsgfVxuXG4uc2luZ2xlLWFydGljbGUgaDMge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtc2l6ZTogMS40Mzc1ZW07IH1cblxuLnNpbmdsZS1hcnRpY2xlIGg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDEuMjVlbTsgfVxuXG4uc2luZ2xlLWFydGljbGVfX2ltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgMzBweCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNpbmdsZS1hcnRpY2xlX19pbWFnZSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAwIDMwcHggMDsgfSB9XG5cbi5zaW5nbGUtYXJ0aWNsZV9fY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzIwNDQzMztcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgLnNpbmdsZS1hcnRpY2xlX19jb250ZW50IHVsIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5zaW5nbGUtYXJ0aWNsZV9fY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICAuc2luZ2xlLWFydGljbGVfX2NvbnRlbnQgcCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc2luZ2xlLWFydGljbGVfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5zaW5nbGUtYXJ0aWNsZV9fZm9vdGVyIC5uYXZpZ2F0aW9uLXBvc3Qge1xuICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDsgfVxuICAuc2luZ2xlLWFydGljbGVfX2Zvb3RlciAubmF2aWdhdGlvbi1wb3N0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNpbmdsZS1hcnRpY2xlX19mb290ZXIgLm5hdmlnYXRpb24tcG9zdCBhIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tbmV4dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tbmV4dCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tbmV4dCBhOmhvdmVyIC5hcnRpY2xlLWFycm93OjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTsgfVxuICAgIC5zaW5nbGUtYXJ0aWNsZV9fZm9vdGVyLS1uZXh0IC5hcnRpY2xlLWltYWdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgLnNpbmdsZS1hcnRpY2xlX19mb290ZXItLW5leHQgLmFydGljbGUtYXJyb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgICAgLnNpbmdsZS1hcnRpY2xlX19mb290ZXItLW5leHQgLmFydGljbGUtYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICM2Zjk5MzA7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICM2Zjk5MzA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuNHM7IH1cbiAgLnNpbmdsZS1hcnRpY2xlX19mb290ZXItLXByZXYge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tcHJldiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tcHJldiBhOmhvdmVyIC5hcnRpY2xlLWFycm93OjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZyk7IH1cbiAgICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tcHJldiAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuc2luZ2xlLWFydGljbGVfX2Zvb3Rlci0tcHJldiAuYXJ0aWNsZS1hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgIC5zaW5nbGUtYXJ0aWNsZV9fZm9vdGVyLS1wcmV2IC5hcnRpY2xlLWFycm93OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICM2Zjk5MzA7XG4gICAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICM2Zjk5MzA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC40czsgfVxuICAuc2luZ2xlLWFydGljbGVfX2Zvb3RlciAuYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiAjNmY5OTMwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJyeW5kYW5cIiwgc2Fucy1zZXJpZjsgfVxuXG4uZmFxIHtcbiAgYmFja2dyb3VuZDogI2ZhZkJlYztcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmZhcSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9IH1cbiAgLmZhcSAuZmFxLXRpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiA0NXB4OyB9XG4gIC5mYXFfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5mYXFfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmZhcV9fY29udGVudF9fbGVmdCB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmZhcV9fY29udGVudF9fbGVmdCB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgY29sb3I6ICMyMDQ0MzM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIC5mYXFfX2NvbnRlbnRfX2xlZnQgdWwgbGkuY3VycmVudCB7XG4gICAgICAgICAgY29sb3I6ICM2Zjk5MzA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICM2Zjk5MzA7IH1cbiAgICAuZmFxX19jb250ZW50X19yaWdodCB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHggMjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuZmFxX19jb250ZW50X19yaWdodCB7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgICAuZmFxX19jb250ZW50X19yaWdodCBoMyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICM2Zjk5MzA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggIzZmOTkzMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuZmFxX19jb250ZW50X19yaWdodCBoMyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfSB9XG4gICAgICAuZmFxX19jb250ZW50X19yaWdodCBoMyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICM2Zjk5MzA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjNmY5OTMwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5mYXFfX2NvbnRlbnRfX3JpZ2h0IGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICAgIC5mYXFfX2NvbnRlbnRfX3JpZ2h0X19zaW5nbGVGYXEge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgbGluZWFyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5mYXFfX2NvbnRlbnRfX3JpZ2h0X19zaW5nbGVGYXEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgICAuZmFxX19jb250ZW50X19yaWdodF9fc2luZ2xlRmFxLmN1cnJlbnQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9XG4gICAgICAgIC5mYXFfX2NvbnRlbnRfX3JpZ2h0X19zaW5nbGVGYXEgLnF1ZXN0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyNXB4IDEwcHggMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjA0NDMzO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgLmZhcV9fY29udGVudF9fcmlnaHRfX3NpbmdsZUZhcSAucXVlc3Rpb24ge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG4gICAgICAgICAgLmZhcV9fY29udGVudF9fcmlnaHRfX3NpbmdsZUZhcSAucXVlc3Rpb246OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGV2cm9uLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGxpbmVhcjtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAgICAgLmZhcV9fY29udGVudF9fcmlnaHRfX3NpbmdsZUZhcSAuYW5zd2VyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE0cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBsaW5lYXI7IH1cbiAgICAgICAgICAuZmFxX19jb250ZW50X19yaWdodF9fc2luZ2xlRmFxIC5hbnN3ZXIgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzZmOTkzMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgICAuZmFxX19jb250ZW50X19yaWdodF9fc2luZ2xlRmFxIC5hbnN3ZXIge1xuICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgICAgIC5mYXFfX2NvbnRlbnRfX3JpZ2h0X19zaW5nbGVGYXEuYWN0aXZlIC5hbnN3ZXIge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9XG4gICAgICAgIC5mYXFfX2NvbnRlbnRfX3JpZ2h0X19zaW5nbGVGYXEuYWN0aXZlIC5xdWVzdGlvbjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4uZmFxQ29udGFjdFNlY3Rpb24ge1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNDBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5mYXFDb250YWN0U2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mYXFDb250YWN0U2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkJyeW5kYW5cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbWFyZ2luOiAwIDAgMzJweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuZmFxQ29udGFjdFNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuLyoqXG4gKiBkb2MgZ2VuZXJhdG9yOiBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3NcbiAqL1xuXG5AaW1wb3J0ICdwYXJ0aWFscy9mb3VuZGF0aW9uLXNldHRpbmdzJztcblxuQGltcG9ydCAncGFydGlhbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbmZpZyc7XG5AaW1wb3J0ICdwYXJ0aWFscy9taXhpbnMnO1xuQGltcG9ydCAncGFydGlhbHMvY29udGVudCc7XG5AaW1wb3J0ICdwYXJ0aWFscy93b3JkcHJlc3MnO1xuQGltcG9ydCAncGFydGlhbHMvZXh0ZW5kJztcbkBpbXBvcnQgJ3BhcnRpYWxzL2Rldic7XG5AaW1wb3J0ICdwYXJ0aWFscy9icmVhZGNydW1iJztcblxuQGltcG9ydCAndmlld3MvbWlzYy9oYW1idXJnZXInO1xuQGltcG9ydCAndmlld3MvbWlzYy9ib2R5JztcbkBpbXBvcnQgJ3ZpZXdzL21pc2MvbWVudS1yZXNwb25zaXZlJztcbkBpbXBvcnQgJ3ZpZXdzL21pc2MvY29va2llJztcbkBpbXBvcnQgJ3ZpZXdzL21pc2MvZG93bmFycic7XG5AaW1wb3J0ICd2aWV3cy9taXNjL3VwYXJyJztcbkBpbXBvcnQgJ3ZpZXdzL21pc2MvZ3Jhdml0eSc7XG5AaW1wb3J0ICd2aWV3cy9taXNjL2J1dHRvbnMnO1xuQGltcG9ydCAndmlld3MvbWlzYy9mb3Vyb2ZvdXInO1xuQGltcG9ydCAndmlld3MvbWlzYy9zbGlkZXItYnV0dG9ucyc7XG5cbkBpbXBvcnQgJ3ZpZXdzL3Byb2R1Y3QvY2F0ZWdvcnknO1xuQGltcG9ydCAndmlld3MvcHJvZHVjdC9wcm9kdWN0JztcbkBpbXBvcnQgJ3ZpZXdzL3Byb2R1Y3Qvc2hvcCc7XG5cbkBpbXBvcnQgJ3ZpZXdzL2hlYWRlci9tYWluJztcblxuQGltcG9ydCAndmlld3Mvc2xpZGVyL3NsaWRlci1ob21lLWFjdHUnO1xuQGltcG9ydCAndmlld3Mvc2xpZGVyL3NsaWRlci1zdG9yeSc7XG5cbkBpbXBvcnQgJ3ZpZXdzL21hbmlmZXN0L21hbmlmZXN0JztcbkBpbXBvcnQgJ3ZpZXdzL21hbmlmZXN0L21hbmlmZXN0LXRlYW0nO1xuXG5AaW1wb3J0IFwidmlld3Mvbm91cy10cm91dmVyL25vdXMtdHJvdXZlclwiO1xuXG5AaW1wb3J0IFwidmlld3MvdG91cy1pbmdyZWRpZW50cy90b3VzLWluZ3JlZGllbnRzXCI7XG5cbkBpbXBvcnQgXCJ2aWV3cy90b3VzLXJlY2V0dGVzL3RvdXMtcmVjZXR0ZXNcIjtcblxuQGltcG9ydCBcInZpZXdzL3JlY2V0dGVzL3JlY2V0dGVzXCI7XG5cbkBpbXBvcnQgXCJ2aWV3cy9uYXR0aXR1ZGUvbmF0dGl0dWRlXCI7XG5cbkBpbXBvcnQgXCJ2aWV3cy9wb3B1cC9pbmZvXCI7XG5cbkBpbXBvcnQgXCJ2aWV3cy9wb3B1cC1uZXdzbGV0dGVyL3BvcHVwLW5ld3NsZXR0ZXJcIjtcblxuQGltcG9ydCAndmlld3MvY29udGFjdC9jb250YWN0JztcblxuQGltcG9ydCAndmlld3MvZm9vdGVyL2Zvb3Rlcic7XG5cbkBpbXBvcnQgJ3ZpZXdzL2hvbWUvaW5zdGFncmFtJztcbkBpbXBvcnQgJ3ZpZXdzL2hvbWUvdmFsdWUnO1xuQGltcG9ydCAndmlld3MvaG9tZS92aWRlbyc7XG5cbkBpbXBvcnQgJ3ZpZXdzL2dhbWUvZ2FtZSc7XG5cbkBpbXBvcnQgJ3ZpZXdzL3dvb2NvbW1lcmNlL3dvbyc7XG5AaW1wb3J0ICd2aWV3cy93b29jb21tZXJjZS9wcm9kdWN0JztcbkBpbXBvcnQgJ3ZpZXdzL3dvb2NvbW1lcmNlL2NhcnQnO1xuQGltcG9ydCAndmlld3Mvd29vY29tbWVyY2UvY2hlY2tvdXQnO1xuQGltcG9ydCAndmlld3Mvd29vY29tbWVyY2Uvc2lkZWJhcic7XG5cbkBpbXBvcnQgJ3ZpZXdzL2Jsb2cvYmxvZy1oZWFkZXInO1xuQGltcG9ydCAndmlld3MvYmxvZy9ibG9nLWNvbnRlbnQnO1xuQGltcG9ydCAndmlld3MvYmxvZy9ibG9nLXNpbmdsZSc7XG5cbkBpbXBvcnQgJ3ZpZXdzL2ZhcS9mYXEnO1xuIiwiLy9jb2xvci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWQ6ICAgICAgICAgICAgICAjZjAxYTQ1O1xuJGdyZWVuOiAgICAgICAgICAgICM2Zjk5MzA7XG4kZ3JlZW4tZGFyazogICAgICAgIzIwNDQzMztcbiRncmVlbi1saWdodDogICAgICAjYzJkNjQ5O1xuJG9yYW5nZTogICAgICAgICAgICNmNDk3MDA7XG5cbi8vbW9ub2Nocm9tZS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbGluZS1ncmV5OiAgICAgICAgI2Q2ZGRkZDtcbiRncmV5OiAgICAgICAgICAgICAjNjY2NjY2O1xuJGRhcmstZ3JleTogICAgICAgICMzMzMzMzM7XG4kd2hpdGU6ICAgICAgICAgICAgI2ZmZmZmZjtcbiRibGFjazogICAgICAgICAgICAjMDAwMDAwO1xuXG4vL2JhY2tncm91bmQgY29sb3ItLS0tLS0tLS0tLS0tXG4kZ3JlZW4tYmctZm9vdGVyOiAgI2ZkZmRmNDtcbiRncmV5LWJnLWZvdW5kVXM6ICAjZjRmOGZiO1xuJGdyZWVuLWJnLXdoaXRlOiAgICNmY2Y3Zjc7XG4kZ3JlZW4tYnJ1c2gtY29sb3I6IzRlOWYwMDtcblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRjb2xvci1wcmltYXJ5OiAgICAkZ3JlZW4tZGFyaztcbiRjb2xvci1zZWNvbmRhcnk6ICAkZ3JlZW47XG4kY29sb3ItdGVydGlhcnk6ICAgJGdyZWVuLWJnLXdoaXRlO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb250LWNvbG9yOiAgICAgICAkZGFyay1ncmV5O1xuJGZvbnQtc2l6ZTogICAgICAgIDE0cHg7XG5cbi8vZm9udC13ZWlnaHQtLS0tLS0tLS0tLS0tLVxuJGZvbnQtcHJpbWFyeTogICAgICdOdW5pdG8nLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kYXJ5OiAgICdCcnluZGFuJywgc2Fucy1zZXJpZjtcbiRmb250LXRlcnRpYXJ5OiAgICAnTmF0dXJlJywgc2Fucy1zZXJpZjtcblxuJGZvbnQtZXh0cmEtbGlnaHQ6IDIwMDtcbiRmb250LWxpZ2h0OiAgICAgICAzMDA7XG4kZm9udC1yZWd1bGFyOiAgICAgNDAwO1xuJGZvbnQtbWVkaXVtOiAgICAgIDUwMDtcbiRmb250LWJvbGQ6ICAgICAgICA3MDA7XG4kZm9udC1leHRyYS1ib2xkOiAgOTAwO1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogICAnQnJ5bmRhbic7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2JyeW5kYW5fd3JpdGUtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvYnJ5bmRhbl93cml0ZS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogICBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogICAgbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogICAnTmF0dXJlJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvNDk5MDgxMF8td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvNDk5MDgxMF8td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6ICAgbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6ICAgIG5vcm1hbDtcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzOyBcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDI5LiBSZXZlYWxcbi8vICAzMC4gU2xpZGVyXG4vLyAgMzEuIFN3aXRjaFxuLy8gIDMyLiBUYWJsZVxuLy8gIDMzLiBUYWJzXG4vLyAgMzQuIFRodW1ibmFpbFxuLy8gIDM1LiBUaXRsZSBCYXJcbi8vICAzNi4gVG9vbHRpcFxuLy8gIDM3LiBUb3AgQmFyXG5cbkBpbXBvcnQgJ2NvbmZpZyc7XG5AaW1wb3J0ICcuLi9jb21wb25lbnQvZm91bmRhdGlvbi91dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICAgJGNvbG9yLXByaW1hcnksXG4gIHNlY29uZGFyeTogJGdyZXksXG4gIHN1Y2Nlc3M6ICAgIzNhZGI3NixcbiAgd2FybmluZzogICAjZmZhZTAwLFxuICBhbGVydDogICAgICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiAkZm9udC1yZWd1bGFyO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogJGZvbnQtYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5O1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTA7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gMjkuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAzMC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzEuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMi4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMy4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDM0LiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNS4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzYuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM3LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuXG5AaW1wb3J0ICcuLi9jb21wb25lbnQvZm91bmRhdGlvbi9mb3VuZGF0aW9uJztcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5cbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50O1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWV0ZXItZWxlbWVudDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnOyAgICBcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUgb3IgYnJlYWtwb2ludCBuYW1lIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogdG9wKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsIFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRwcmltYXJ5LWNvbG9yXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogY29udmVydGluZyBweCB0byByZW1cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICBpbnQgICAgICR2YWx1ZSAgICAgICAgIHNpemUgdW5pdHMgcHggd2hpdGhvdXQgXCJweFwiXG4gKiBAcmV0dXJuIHN0cmluZyAgICAgICAgICAgICAgICAgc2l6ZSB1bml0cyByZW1cbiAqL1xuQGZ1bmN0aW9uIHB4LXRvLXJlbSggJHZhbHVlICl7XG4gICAgQHJldHVybiBnZXRFbVZhbHVlKCAkdmFsdWUgKSAqIDFyZW07XG59XG5cbi8qKlxuICogY29udmVydGluZyBweCB0byBlbVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAcGFyYW0gIGludCAgICAgJHZhbHVlICAgICAgICAgc2l6ZSB1bml0cyBweCB3aGl0aG91dCBcInB4XCJcbiAqIEByZXR1cm4gc3RyaW5nICAgICAgICAgICAgICAgICBzaXplIHVuaXRzIHJlbVxuICovXG5AZnVuY3Rpb24gcHgtdG8tZW0oICR2YWx1ZSApe1xuICAgIEByZXR1cm4gZ2V0RW1WYWx1ZSggJHZhbHVlICkgKiAxZW07XG59XG5cbi8qKlxuICogZ2V0IFJlbSBzaXplXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEBwYXJhbSAgaW50ICAgICAkdmFsdWUgICAgICAgICAgICAgZ2V0IHVuaXRcbiAqIEByZXR1cm4gc3RyaW5nICAgICAgICAgICAgICAgICAgIHJldHVybiB1bml0IHB4XG4gKi9cbkBmdW5jdGlvbiBnZXRFbVZhbHVlKCAkdmFsdWUgKXtcbiAgICBAcmV0dXJuIHNldFVuaXQoICR2YWx1ZSApIC8gMTZweDtcbn1cblxuLyoqXG4gKiBzZXQgdW5pdCB2YWx1ZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAcGFyYW0gIGludCAgICAgJHZhbHVlICAgICAgICAgICAgIGdldCB1bml0XG4gKiBAcmV0dXJuIHN0cmluZyAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5pdCBweFxuICovXG5AZnVuY3Rpb24gc2V0VW5pdCggJHZhbHVlICl7XG4gICAgQHJldHVybiBpZiggdW5pdGxlc3MoICR2YWx1ZSApLCAkdmFsdWUgKiAxcHgsICR2YWx1ZSApO1xufVxuXG4vKipcbiAqIGNhbGN1bGUgdGhlIHBlcmNlbnRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICBpbnQgICAgICR0YXJnZXQgICAgICAgY2hpbGRcbiAqIEBwYXJhbSAgaW50ICAgICAkY29udGFpbmVyICAgIHBhcmVudFxuICogQHJldHVybiBzdHJpbmcgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlcmNlbnRcbiAqL1xuQGZ1bmN0aW9uIGNhbGMtcGVyY2VudCggJHRhcmdldCwgJGNvbnRhaW5lciApIHtcbiAgICBAcmV0dXJuICggJHRhcmdldCAvICRjb250YWluZXIgKSAqIDEwMCU7XG59XG4iLCJAbWl4aW4gYnJhY2tldCgkc2l6ZTo0MHB4KSB7XG4gICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10ZXJ0aWFyeTtcbiAgICBmb250LXNpemU6ICRzaXplO1xuICAgIHBhZGRpbmctbGVmdDogY2VpbCgkc2l6ZSo3MC8xMDApO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNlaWwoJHNpemUqNzAvMTAwKTtcbiAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0oIHJvdGF0ZSgtOS41ZGVnKSApO1xuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdG9wOiAtMzYlO1xuICAgICAgICBoZWlnaHQ6IDE1MCU7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JyYWNrZXQtb3V0LnN2ZycpO1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9icmFja2V0LWluLnN2ZycpO1xuICAgIH1cbn1cblxuQG1peGluIHRpdGxlIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBzZXQgdGhlIHNpemUgb2YgY29udGFpbmVyIChhbmQgd29ya3MgaW4gcmVzcG9uc2l2ZSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICRwZXJjZW50ICAgICAgICAgICAgLSAxMDAlIGlzIHJlY29tbWFuZGVkXG4gKiBAcGFyYW0gJG1heFdpZHRoICAgICAgICAgICAtIHNpemUgb2YgdGhlIGNvbnRhaW5lciAocmVtLCBweCwgZXRjKVxuICpcbiAqIFN0eWxlZ3VpZGUgMi4xLjMuXG4gKi9cbkBtaXhpbiBtYXgtY29udGFpbmVyKCRwZXJjZW50LCAkbWF4V2lkdGgpIHtcbiAgICBtYXgtd2lkdGg6ICRtYXhXaWR0aDtcbiAgICB3aWR0aDogJHBlcmNlbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qKlxuICogU2V0IHRoZSB0cmFuc2Zyb20gcHJvcGVydHkgY29ycmVjdGx5IGZvciBJRTlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQHBhcmFtICRwcm9wZXJ0eSAgICAgICAgICAgLSB0cmFuc2Zvcm0gcHJvcGVydGllc1xuICpcbiAqIFN0eWxlZ3VpZGUgMi4xLjMuXG4gKi9cbkBtaXhpbiBmcF90cmFuc2Zvcm0oJHByb3BlcnR5LCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50ICE9IGZhbHNlIHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogJHByb3BlcnR5KyFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogJHByb3BlcnR5KyFpbXBvcnRhbnQ7XG4gICAgICAgIC8vSUU5IGZpeFxuICAgICAgICAtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHkrXFw5IWltcG9ydGFudDtcbiAgICB9QGVsc2V7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcbiAgICAgICAgdHJhbnNmb3JtOiAkcHJvcGVydHk7XG4gICAgICAgIC8vSUU5IGZpeFxuICAgICAgICAtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHkrXFw5O1xuICAgIH1cbn1cblxuLyoqXG4gKiBEaXNwbGF5IGZvbnRzaXplIHdpdGggcmVtXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEBwYXJhbSAkc2l6ZSAgICAgICAgICAgLSB0cmFuc2Zvcm0gcHJvcGVydGllc1xuICpcbiAqIFN0eWxlZ3VpZGUgMi4xLjMuXG4gKi9cbkBtaXhpbiBmb250LXNpemUoJHNpemUpIHtcbiAgICBmb250LXNpemU6ICRzaXplO1xuICAgIGZvbnQtc2l6ZTogcHgtdG8tZW0oJHNpemUpO1xufVxuXG5cbi8qKlxuICogSG92ZXIgc3RhdGVtZW50XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqXG4gKiBTdHlsZWd1aWRlIDIuMS4zLlxuICovXG5AbWl4aW4gaG92ZXIoKSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogQWxpZ24gaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAcGFyYW0gJGRpcmVjdGlvbiAgICAgICAgICAgLSBkaXJlY3Rpb25cbiAqXG4gKiBTdHlsZWd1aWRlIDIuMS4zLlxuICovXG5AbWl4aW4gYWxpZ24oJGRpcmVjdGlvbjogYm90aCl7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgQGlmIGluZGV4KFwiaG9yaXpvbnRhbFwiIFwiaFwiLCAkZGlyZWN0aW9uKSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgZnBfdHJhbnNmb3JtKCB0cmFuc2xhdGVYKC01MCUpICk7XG4gICAgfVxuICAgIEBlbHNlIGlmIGluZGV4KFwidmVydGljYWxcIiBcInZcIiwgJGRpcmVjdGlvbikge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgZnBfdHJhbnNmb3JtKCB0cmFuc2xhdGVZKC01MCUpICk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgZnBfdHJhbnNmb3JtKCB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgKTtcbiAgICB9XG59XG5cblxuQG1peGluIG5lc3RlZC1yb3cge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuICAgICAgICAmLFxuICAgICAgICAucm93ICYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0uOTM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLS45Mzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgJixcbiAgICAucm93ICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogLS42MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLS42MjVyZW07XG4gICAgfVxuICAgICYgJixcbiAgICAucm93ICYsIC5yb3cuZXhwYW5kZWQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiLmNvbnRlbnQge1xuICAgID4gKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSggMTYgKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKCAxNiApO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWw6bm90KC5nZm9ybV9maWVsZHMpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAxNnB4ICk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgbGVmdDogLTFyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgtdG8tcmVtKCA2ICk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oIDYgKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVycyhzZWN0aW9uLFwiLVwiKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgb2wsXG4gICAgdWwge1xuICAgICAgICB1bCBsaSxcbiAgICAgICAgb2wgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAxMnB4ICk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuIiwiLyogPVdvcmRQcmVzcyBDb3JlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi5hbGlnbmNlbnRlcixcbmRpdi5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvXG59XG5cbi53cC1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgbWF4LXdpZHRoOiA5NiU7IC8qIEltYWdlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEgKi9cbiAgICBwYWRkaW5nOiA1cHggM3B4IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDVweCAwIDIwcHggMjBweDtcbn1cblxuLndwLWNhcHRpb24gaW1nIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogOTguNSU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLndwLWNhcHRpb24gcC53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG5cdGNsaXA6IGF1dG8gIWltcG9ydGFudDtcblx0Y29sb3I6ICMyMTc1OWI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRoZWlnaHQ6IGF1dG87XG5cdGxlZnQ6IDVweDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0cGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dG9wOiA1cHg7XG5cdHdpZHRoOiBhdXRvO1xuXHR6LWluZGV4OiAxMDAwMDA7IC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG4iLCJwcmUge1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgYmFja2dyb3VuZDojM0IzQjNCO1xuICAgIGJvcmRlcjoxcHggc29saWQgIzc3NztcbiAgICBmb250LWZhbWlseTptb25vc3BhY2U7XG4gICAgcmVzaXplOmJvdGg7XG4gICAgb3ZlcmZsb3c6YXV0bztcbiAgICBjb2xvcjojZWVlO1xuICAgIG1heC13aWR0aDogMTI4MHB4OyAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNwZWNpZnkgd2lkdGggICovXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAgICAgICAgICAgICAgICAgLyogQ1NTMyBicm93c2VycyAgKi9cbiAgICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcCAhaW1wb3J0YW50OyAvKiAxOTk5KyBNb3ppbGxhICAqL1xuICAgIHdoaXRlLXNwYWNlOiAtcHJlLXdyYXA7ICAgICAgICAgICAgICAgIC8qIE9wZXJhIDQgdGhydSA2ICovXG4gICAgd2hpdGUtc3BhY2U6IC1vLXByZS13cmFwOyAgICAgICAgICAgICAgLyogT3BlcmEgNyBhbmQgdXAgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7ICAgICAgICAgICAgICAgICAvKiBJRSA1LjUrIGFuZCB1cCAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgKiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5wcmU6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG59XG5cbnByZTo6c2VsZWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG59XG5wcmUgKjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbn1cblxucHJlICo6OnNlbGVjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xufVxucHJlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiMzMzM7XG4gICAgb3V0bGluZTpub25lO1xufSIsIiNicmVhZGNydW1icyB7XG4gICAgc3BhbiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tZGFyaztcblxuICAgICAgICAgICAgLmJyZWFkY3J1bWJfbGFzdCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuaGFtYnVyZ2VyLXJlc3BvbnNpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBweC10by1yZW0oIDYwcHggKTtcbiAgICBoZWlnaHQ6IHB4LXRvLXJlbSggNjBweCApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG91dGxpbmU6IDA7XG4gICAgXG4gICAgPiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgd2lkdGg6IHB4LXRvLXJlbSggMzBweCApO1xuICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSggM3B4ICk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgYWxpZ24oKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoIHB4LXRvLXJlbSggMTBweCApKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggdHJhbnNsYXRlWSggcHgtdG8tcmVtKCAtMTBweCApKSApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIHdpZHRoOiBweC10by1yZW0oIDMwcHggKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKCAzcHggKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDApO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggcm90YXRlKDQ1ZGVnKSApO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggcm90YXRlKC00NWRlZykgKTtcbiAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRhcmstZm9jdXMtcmVzcG9uc2l2ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCB4bGFyZ2UgKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5pcy1vcGVuZWQgJiB7XG4gICAgICAgIHotaW5kZXg6IDk1MDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCIvLyBAQXV0aG9yOiAzNiBQaXhlbHMgPGltYWM+XG4vLyBARGF0ZTogICAxMi8xMC8yMDE3LCA1OjM3OjMzXG4vLyBARW1haWw6ICBhbmFpc0AzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF9ib2R5LnNjc3Ncbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDA4LzAzLzIwMTgsIDM6Mjg6NTJcbi8vIEBMaWNlbnNlOiAoYykgMjAxNyBieSAzNiBQaXhlbHMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cblxuXG4ud3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4qIHtcbiAgICBvdXRsaW5lLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmZ1bGxzY3JlZW4ge1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi5mYWRlSW4ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG4uZmFkZU91dCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB9XG4gICAgdG8geyBvcGFjaXR5OiAxOyB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIGZyb20geyBvcGFjaXR5OiAxOyB9XG4gICAgdG8geyBvcGFjaXR5OiAwOyB9XG59XG5cbi53b29jb21tZXJjZS1lcnJvciwgLndvb2NvbW1lcmNlLWluZm8sIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNvbnRlbnQgdWw6bm90KC5nZm9ybV9maWVsZHMpIGxpOjpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xufVxuXG4uZmlyc3RfbGV0dGVye1xuICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG4gICY6OmZpcnN0LWxldHRlcntcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubGFuZy1zd2l0Y2hlciAqOmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuIiwiLm1lbnUtcmVzcG9uc2l2ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogcHgtdG8tcmVtKCA2MCApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfTtcblxuICAgIC5hZG1pbi1iYXIgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oIDMyICk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIDc4MiBkb3duICkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHB4LXRvLXJlbSggNDYgKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbi5tZW51LXJlc3BvbnNpdmUgPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0oIHRyYW5zbGF0ZVgoLTEwMCUpICk7XG4gICAgLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIuaXMtb3BlbmVkICYsXG4gICAgLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIuaXMtb3BlbmVkLnJpZ2h0ICYsXG4gICAgLm1lbnUtcmVzcG9uc2l2ZS1jb250YWluZXIuaXMtb3BlbmVkLmxlZnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggdHJhbnNsYXRlWCgwKSApO1xuICAgIH1cbn1cblxuLm1lbnUtcmVzcG9uc2l2ZS1tZW51IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZW51LXJlc3BvbnNpdmUtbWVudSAubWVudSB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLy8gbWVudVxuICAgID4gbGkgPiBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgcHgtdG8tcmVtKCAxICkgcmdiYSgkd2hpdGUsIDAuNSk7XG4gICAgfVxuXG4gICAgLy8gc3ViIG1lbnVcbiAgICA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLy8gc3ViIHN1YiBzdWIuLi4uIG1lbnVcbiAgICB1bCB1bCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWRhcms7XG4gICAgICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oIDYgKSBweC10by1yZW0oIDMwICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgcGFkZGluZzogcHgtdG8tcmVtKCAxMCApIHB4LXRvLXJlbSggMzAgKTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSggMjBweCApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgLy9JRTkgZml4XG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41c1xcOTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3ViLW1lbnUge1xuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoIDIwcHggKTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIHB4LXRvLXJlbSggMSApICRncmVlbi1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGFjY29yZGlvblxuLm1lbnUtd2l0aC1hY2NvcmRpb24ge1xuICAgIC5tZW51IHtcbiAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmlzLW9wZW5lZCA+IGE6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpICApO1xuICAgICAgICB9XG4gICAgICAgIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnPic7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoIC01MCUgKSByb3RhdGUoIDAgKSAgKTtcbiAgICAgICAgICAgICAgICByaWdodDogcHgtdG8tcmVtKCAxNSApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHJpZ2h0IHNpZGVcbi5tZW51LXJlc3BvbnNpdmUtY29udGFpbmVyLnJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICAubWVudS1yZXNwb25zaXZlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBweC10by1yZW0oIDYwICk7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggdHJhbnNsYXRlWCgxMDAlKSApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLSBCYXJyZSBkZSBjb29raWUgLS0tLS0tLS0tLS0tLS0tLS0tLSAgICovXG5cbi5jb29raWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBjb2xvcjogJGRhcmstZ3JleTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgei1pbmRleDogOTk5OTk7XG59XG5cbi5jb29raWUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uY29va2llX2J0biB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG59XG4iLCIuZG93bmFyci5zdHlsZWQge1xuICAgIEBpbmNsdWRlIGFsaWduKGgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBweC10by1yZW0oIDgwICk7XG4gICAgaGVpZ2h0OiBweC10by1yZW0oIDgwICk7XG4gICAgb3V0bGluZTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm90dG9tOiBweC10by1yZW0oIDMyICk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDcwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBweC10by1yZW0oIDMwICk7XG4gICAgICAgIGhlaWdodDogcHgtdG8tcmVtKCAzICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdG9wOiA2MiU7XG5cbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0oICByb3RhdGUoLTUwZGVnKSApO1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggcm90YXRlKDUwZGVnKSApO1xuICAgIH1cbn1cbiIsIi51cGFyci5zdHlsZWR7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHdpZHRoOiBweC10by1yZW0oIDM5ICk7XG4gICBoZWlnaHQ6IHB4LXRvLXJlbSggMzkgKTtcbiAgIG91dGxpbmU6IDA7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gICBib3R0b206ICg1MHB4KTtcbiAgIHJpZ2h0OiA2MHB4O1xuICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5OyBcbiAgICAgICY6OmFmdGVyLFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgdG9wOiAyOCU7XG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgIH1cbiAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIGRvd24gKSB7XG4gICAgICAgcmlnaHQ6IDA7XG4gICAgICAgbGVmdDogNTAlO1xuICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgfTtcbiAgICY6OmFmdGVyLFxuICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IHB4LXRvLXJlbSggMTYgKTtcbiAgICAgIGhlaWdodDogcHgtdG8tcmVtKCAxICk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIHRvcDogMzAlO1xuXG4gICB9XG4gICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbiAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggIHJvdGF0ZSg1MGRlZykgKTtcbiAgIH1cbiAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgZnBfdHJhbnNmb3JtKCByb3RhdGUoLTUwZGVnKSApO1xuICAgfVxufVxuIiwiLmdmb3JtX2JvZHkgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIGNvbnRhaW5lclxuLmdmb3JtX3dyYXBwZXIsXG4uZ2Zvcm1fYm9keSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gICAgQGluY2x1ZGUgbmVzdGVkLXJvdztcbn1cblxuLy8gZm9ybVxuLmdmb3JtX3dyYXBwZXIgPiBmb3JtLFxuLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG59XG5cbi8vIHNpemUgZmllbGRcbi5mcF9nZm9ybV9sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xufVxuXG4uZnBfZ2Zvcm1fbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcbn1cblxuLmZwX2dmb3JtX3NtYWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCk7XG59XG5cbi5nZmllbGQgbGFiZWwge1xuICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oIDEwcHggKTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoIDE4cHggKTtcbn1cblxuLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IHB4LXRvLXJlbSggNHB4ICk7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCAxOHB4ICk7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uZ2Zvcm1fZmllbGRzID4gbGk6bm90KC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lcikge1xuICAgIG1hcmdpbjogcHgtdG8tcmVtKCAzMHB4ICkgMDtcbn1cblxuLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IHB4LXRvLXJlbSggMjBweCApO1xuICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oIDEwcHggKTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoIDE4cHggKTtcbn1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlLFxuLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzIsXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgKixcbi5nZl9wcm9ncmVzc2Jhcl90aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCAyMCApO1xufVxuXG4uZ2Zvcm1fdGl0bGUge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuLmdmX3Byb2dyZXNzYmFyX3BlcmNlbnRhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmZwX2dmb3JtX2hvbmV5cG90IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2Zvcm1fZGVzY3JpcHRpb246ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIuYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IHNvbGlkIHB4LXRvLXJlbSggMiApICRjb2xvci1wcmltYXJ5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IHB4LXRvLXJlbSggMTAgKSBweC10by1yZW0oIDI1ICk7XG4gICAgdHJhbnNpdGlvbjogMC40cztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSggMTRweCApO1xuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfTtcbn1cblxuLmJyYWNrZXQge1xuICAgIEBpbmNsdWRlIGJyYWNrZXQoNDBweCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgQGluY2x1ZGUgYnJhY2tldCgzNXB4KTtcbiAgICB9XG59XG4iLCIuZm91cm9mb3Vye1xuICBtYXJnaW4tdG9wOiA5MHB4O1xuICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICBcbiAgJl9fY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBpbWcsXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIC5haWd1aWxsZSB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDcycHggMjVweDtcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluMSAzcyBjdWJpYy1iZXppZXIoLjk0LC4xLC42LDEuMDUpIGluZmluaXRlO1xuICAgICAgfVxuICAgIH1cbiAgICBoM3tcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB6LWluZGV4OiA0O1xuICAgIH1cbiAgICBhe1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICBtYXgtd2lkdGg6IDIyN3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDowO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogMXMgZWFzZSBhbGw7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAxcyBlYXNlIGFsbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQGtleWZyYW1lcyBzcGluMSB7XG4gIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG59XG4iLCIubmV4dF9wcmV2X2J1dHRvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnByZXZfYnV0dG9uLFxuICAgIC5uZXh0X2J1dHRvbiB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmV2X2J1dHRvbiB7XG5cbiAgICB9XG4gICAgXG4gICAgLm5leHRfYnV0dG9uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxufVxuICAgICIsIi5uYXZfY2F0ZWdvcnkge1xuICAmID4gdWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfTtcblxuICAgICYgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICNmMjNlNjg7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjIzZTY4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwIDUwcHggcHgtdG8tcmVtKDE0KSA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSgxMCkgMCBweC10by1yZW0oMTApIHB4LXRvLXJlbSgzMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzZmOTkzNTtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzU7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAgICYuY3VycmVudC1tZW51LXBhcmVudCB7XG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzZmOTkzNTtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiB1bC5zdWItbWVudSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDE1cHggOHB4IDIwcHggcmdiYSgwLDAsMCwuMSk7XG4gICAgICAgIHdpZHRoOiAxMDUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIDEwMjRweCBkb3duICkge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyN3B4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH07XG5cbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIGRvd24gKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHg7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtLFxuICAgICAgICAgICYuaXMtYWN0aXZlLFxuICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzU7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGxpIGEge1xuICAgICAgICAgIGNvbG9yOiAjNmY5OTM1O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuNHM7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1cHgpO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZmOTkzNTtcbiAgICAgICAgICBwYWRkaW5nOiA2cHggMTVweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5saXN0LXJlY2V0dGVzIHtcbiAgLm5hdl9jYXRlZ29yeSB7XG4gICAgJiA+IHVsID4gbGkgPiBhOmxhc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzZmOTkzNSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY5OTM1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tZW51X2NhdF9wcm9kIHtcbiAgPi5uYXZfY2F0ZWdvcnkge1xuICAgICYgPiB1bCB7XG4gICAgICAmID4gbGkge1xuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3ViLWNhdGVnb3J5LW1lbnUge1xuICAubGluZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGRkZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDI1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSgxNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLWNhdGVnb3J5LXNob3Age1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIGhlaWdodCA6IDYwMHB4O1xuICAvLyBtaW4taGVpZ2h0OiBweC10by1yZW0oNTYwKTtcbiAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDMwcHgpO1xuXG4gIC5iYWNrZ3JvdW5kLWxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZmNjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJhY2tncm91bmQtcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG5cbiAgLndyYXAtYmxvYy1sZWZ0IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEzMjBweCB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIC03MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci13cmFwLWJsb2MtcmlnaHQge1xuICAgIHBhZGRpbmc6IDQzcHg7XG4gIH1cblxuICAud3JhcC1ibG9jLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgyMCkgcHgtdG8tcmVtKDM1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDEwKSBweC10by1yZW0oMjApO1xuICAgIH1cblxuICAgICYtLWltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBweC10by1yZW0oMCkgcHgtdG8tcmVtKDApIHB4LXRvLXJlbSgwKSBweC10by1yZW0oMTQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBmbGV4OiA1MCU7XG4gICAgfVxuXG4gICAgLnNhbnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9saXN0LnBuZycpO1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgZm9udC1zaXplOiAwLjlyZW07XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhbXBvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBweC10by1yZW0oMTYpO1xuICAgICAgfVxuXG4gICAgICAmLS1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcHgtdG8tcmVtKDI1KTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4LXRvLXJlbSgyKTtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgIH1cblxuICAgICYtLXR4dCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgICYtLWJvcmRlciB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLndyYXAtdGFtcG9uLXByb2Nlc3N1cyB7XG4gICAgICBmbGV4OiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDIwKTtcblxuICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwLWJ1dHRvbnMtcHJvY2Vzc3VzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDUxM3B4IHVwKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1wcm9jZXNzdXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDIzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDEwKSBweC10by1yZW0oMjApO1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubXktY2F0ZWdvcnktcHJvZHVjdCxcbi5wcm9kdWN0cy1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmNhdGVnb3J5LXByb2R1Y3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDU2KTtcbn1cblxuLmNyb3NzLXNlbGxzIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NTBweCB1cCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuXG4gIDpudGgtY2hpbGQobis0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDQwKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgOm50aC1jaGlsZChuKzUpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDQwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDEuNSUhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEwcHggMzBweCFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc1MHB4IHVwKSB7XG4gICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSBpbWcge1xuICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlIWltcG9ydGFudDtcbiAgICAgIG1heC1oZWlnaHQ6IDIyMHB4IWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5teS1jYXRlZ29yeS1wcm9kdWN0LFxuLnByb2R1Y3RzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlIGRvd24gKSB7XG4gICAgbWFyZ2luOiAwIDQwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSBkb3duICkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIGRvd24gKSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgICB9O1xuXG4gICAgOm50aC1jaGlsZChuKzQpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDQwKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDE0NDBweCB1cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgOm50aC1jaGlsZChuKzUpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSg0MCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1bnNldCFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgY29udGVudDogXCJcIiFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgY29udGVudDogdW5zZXQhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY3Jvc3Mtc2VsbHMsXG4ubXktY2F0ZWdvcnktcHJvZHVjdCxcbi5wcm9kdWN0cy1jb250YWluZXIge1xuICAucHJvZHVjdCBhIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtdGVydGlhcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiBweC10by1yZW0oMTApIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5qcy1pcy1ob3ZlciB7XG4gICAgICAuc2l6ZS13b29jb21tZXJjZV90aHVtYm5haWwge1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2UtcHJvZHVjdF9faG92ZXIge1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaXplLXdvb2NvbW1lcmNlX3RodW1ibmFpbCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluLW91dCAwLjNzO1xuICB9XG5cbiAgLmltYWdlLXByb2R1Y3RfX2hvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbi1vdXQgMC4zcztcbiAgfVxuXG4gIC5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX2hvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI2LCAyMzUsIDI0MiwgMC42OCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZXllcy5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9faG92ZXItcHVyY2hhc2FibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjYsIDIzNSwgMjQyLCAwLjY4KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMyBlYXNlO1xuXG4gICAgLndyYXBlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDEpe1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogODBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMyBlYXNlO1xuICAgIH1cbiAgfVxufVxuXG4ud29vY29tbWVyY2UgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuLndvb2NvbW1lcmNlLXBhZ2UgdWwubXktY2F0ZWdvcnktcHJvZHVjdCB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0LFxuLmNyb3NzLXNlbGxzIHVsLm15LWNhdGVnb3J5LXByb2R1Y3QgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ1JSFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMjBweCAxLjUlO1xuICBwYWRkaW5nOiAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICB3aWR0aDogMzAlIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMS41JTtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgdXApIHtcbiAgICB3aWR0aDogMjIlIWltcG9ydGFudDtcbiAgfVxuXG4gIGEgaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xuICB9XG5cbiAgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ud29vY29tbWVyY2UgbGkucHJvZHVjdCxcbi53b29jb21tZXJjZS1wYWdlIGxpLnByb2R1Y3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAzMy4zMyU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWVudS1jYXRlZ29yeS1zaG9wLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiBweC10by1lbSgyMik7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMC42MjVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmFycm93IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBweC10by1lbSg0LjUpO1xuICAgICAgICBsZWZ0OiBweC10by1lbSgxNSk7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZpbGw6ICRkYXJrLWdyZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJvdGF0ZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZfY2F0ZWdvcnktbW9iaWxlLWluYWN0aXZlIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucHJvY2Vzc3VzLWJnIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgei1pbmRleDogOTk5ODtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnByb2Nlc3N1cy13cmFwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXggOiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5wcm9jZXNzdXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdG9wOiA1MHB4O1xuICBsZWZ0OiAwO1xuXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgcmlnaHQ6IDU1cHg7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlIGRvd24gKSB7XG4gICAgICB0b3A6IDUwcHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICB9O1xuXG4gICAgJi5pcy1oaWRlIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnByb2Nlc3N1cy1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHotaW5kZXg6IDEwMDAxO1xuICBtYXgtd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMTAwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNTBweDtcbiAgfTtcbn1cblxuLndyYXAtYnV0dG9uLWNvbG9yaWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDUxM3B4IHVwKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLndyYXAtYnV0dG9uLWNvbG9yaWFnZV9faW1hZ2Uge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ud3JhcC1idXR0b24tY29sb3JpYWdlX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTBweDtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDE1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IHVwKSB7XG4gICAgYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDYwcHggdXApIHtcbiAgICBib3R0b206IC0xMHB4O1xuICB9XG59XG5cbi5idXR0b24tY29sb3JpYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMjMwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICBjb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzNDc0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTIzNDc0O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1vdXQgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2UyMzQ3NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLmNyb3NzLXNlbGxzLFxuLm15LWNhdGVnb3J5LXByb2R1Y3QsXG4ucHJvZHVjdHMtY29udGFpbmVyIHtcbiAgLnZhcmlhdGlvbnMge1xuICAgIG1hcmdpbjogNXB4IGF1dG8gMCBhdXRvO1xuXG4gICAgdGJvZHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQ0MHB4IHVwKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHI6bnRoLWNoaWxkKDEpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQ0MHB4IHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cjpudGgtY2hpbGQoMikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQ0MHB4IHVwKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC52YXJpYXRpb25zIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxNDQwcHggdXApIHtcbiAgICAgIHdpZHRoOiAyNyU7XG4gICAgfVxuICB9XG5cbiAgLnZhcmlhdGlvbnMgLmxhYmVsIGxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnZhcmlhdGlvbnMgLnZhbHVlIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0cHggMjRweCA0cHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLnF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuXG4gICAgICAucXVhbnRpdHktbmF2IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIC5xdWFudGl0eS1kb3duLFxuICAgICAgICAucXVhbnRpdHktdXAge1xuICAgICAgICAgIGhlaWdodDogNDklO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1YW50aXR5LWRvd24ge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucXR5IHtcbiAgICAgICAgcGFkZGluZzogMC4zNTBlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDQ7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwLjUxOGVtIDVweCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxM3B4IWltcG9ydGFudDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggdXApIHtcbiAgICAgICAgZmxleDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2UtdmFyaWF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLy8gLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgLy8gICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgIC8vIH1cblxuICAgIC8vIC5wcmljZSB7XG4gICAgLy8gICBsaW5lLWhlaWdodDogMS4xO1xuICAgIC8vICAgbWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgLy8gfVxuICB9XG5cbiAgLnNpbmdsZV92YXJpYXRpb25fd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuIiwiXG4uY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4uc2luZ2xlUHJvZHVjdENvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgfVxuXG4gICAgLnN1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0X21ldGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3RfdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZhcmlhdGlvbnNfZm9ybSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgMXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaW5nbGVQcm9kdWN0IHtcbiAgICAmLS1iaWdUeHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1udXRyaXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgICYtLXJlY2V0dGUge1xuICAgICAgICAmLS1yZWxhdGVkIHtcbiAgICAgICAgICAgICYtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAmLS1pbWcge1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tZW0oMTgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnM6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogMDtcbn1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnMgbGk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAucHJvZHVjdF90aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC10ZXJ0aWFyeTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplIDogMzBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZm9udC1zaXplIDogMzVweDtcbiAgfVxufVxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyB0ZC5sYWJlbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwcHg7XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcge1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG59XG5cbi5wcmljZSB7XG4gIG1hcmdpbi1ib3R0b206IHB4LXRvLWVtKDIwKTtcbiAgZm9udC1zaXplOiBweC10by1lbSgyMCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xufVxuXG4ucHJpY2VfZnJvbSB7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wb3N0ZWRfaW4ge1xuICBmb250LWZhbWlseTogJGZvbnQtdGVydGlhcnk7XG4gIGEge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoNDApO1xuICAgIH1cbiAgfVxufVxuYS5wb3N0ZWRfaW4ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10ZXJ0aWFyeTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTkpO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIgYSxcbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICRncmVlbi1kYXJrO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICAuYnJlYWRjcnVtYi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNmY5OTMwOyBcbiAgfVxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAxN3B4IDI4cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG59XG5cbi5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbi5hbHQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjYpO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5IHtcbiAgcGFkZGluZzogOHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgd2lkdGg6IDNlbTtcbiAgcGFkZGluZzogcHgtdG8tZW0oMTApO1xuICBAaW5jbHVkZSBmb250LXNpemUoMTcpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xuICAgIHBhZGRpbmc6IDExcHg7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXByb2R1Y3QtZGV0YWlsc19fc2hvcnQtZGVzY3JpcHRpb24ge1xuICBtYXJnaW46IHB4LXRvLWVtKDIwcHgpIDAgcHgtdG8tZW0oMzApIDA7XG4gIGZvbnQtc2l6ZTogcHgtdG8tZW0oMTQpO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJldmlldy1saW5rIHtcbiAgZm9udC1zaXplOiBweC10by1lbSgxNClcbn1cblxuLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudC5hbW91bnQge1xuICAmOm50aC1jaGlsZCgxKSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgfVxuICB9XG59XG5cbi5zaW5nbGVQcm9kdWN0Q29uYXRhaW5lciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLXRhYnMtbW9iaWxlIHtcbiAgLnRhYnMtbW9iaWxlIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDAgNSU7XG4gICAgbWFyZ2luOiAwO1xuICAgIC50aXRsZS10YWJzIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmLmFjdGl2ZVRpdGxlLCAmLmFjdGl2ZVRpdGxlIGEge1xuICAgICAgICBjb2xvcjogIzcyOTYzNjtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFycm93IHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgc3ZnIHtcbiAgICAgICAgZmlsbDogI2I2YjZiNjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcbiAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxlLXRhYnMge1xuICAgICAgJi5hY3RpdmVUaXRsZSB7XG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICM3Mjk2MzY7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogcHgtdG8tZW0oMTQpO1xufVxuXG4uY29tbWVudC1mb3JtIHtcbiAgLmZvcm0tc3VibWl0IHtcbiAgICAuc3VibWl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5MzAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiBweC10by1lbSgxNCkgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuY29tbWVudC1mb3JtLXJhdGluZyB7XG4gICAgLnN0YXJzIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29tbWVudC10ZXh0IHtcbiAgLnN0YXItcmF0aW5nIHtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuICB9XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuaW1hZ2VzIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi53b29jb21tZXJjZS1UYWJzLXBhbmVsIHVse1xuICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICBtYXJnaW4tbGVmdDoyMHB4O1xufVxuXG4ud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5X19pbWFnZSB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHRkLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyB0aCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi8vIEBBdXRob3I6IDM2IFBpeGVscyA8aW1hYz5cbi8vIEBEYXRlOiAgIDIxLzA3LzIwMTcsIDExOjI1OjA1XG4vLyBARW1haWw6ICBhbmFpc0AzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF9zaG9wLnNjc3Ncbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDA5LzAzLzIwMTgsIDEwOjI4OjMxXG4vLyBATGljZW5zZTogKGMpIDIwMTcgYnkgMzYgUGl4ZWxzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuXG5cbi53b29jb21tZXJjZSAuc2hvcC1jb250YWluZXIgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QsIC53b29jb21tZXJjZS1wYWdlIC5zaG9wLWNvbnRhaW5lciB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgLy8gcGFkZGluZzogMCAyJSAyLjk5MmVtIDIlICFpbXBvcnRhbnQ7XG4gIC8vIG1hcmdpbjogMCAxNnB4IWltcG9ydGFudDtcbn1cblxuLnNob3AtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8vcGFkZGluZy10b3A6IHB4LXRvLXJlbSgxMDApO1xuXG4gIC5wcm9kdWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDQ1JSFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAyMHB4IDEuNSUhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgd2lkdGg6IDMwJSFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgMS41JSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMTBweCAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10ZXJ0aWFyeTtcbiAgfVxuXG4gIC5wcm9kdWN0cyBsaS5wcm9kdWN0LWNhdGVnb3J5IHtcbiAgICAgIHdpZHRoOjQ3JSFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDQ3JSA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogOTclO1xuICAgICAgfVxuICB9XG5cbiAgLm1vcmVQcm9kdWN0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkZ3JlZW4tZGFyaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjUxO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICB9XG4gIH1cblxufVxuXG4ucXVhbnRpdHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xdWFudGl0eSBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4ucXVhbnRpdHkgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uXG57XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucXVhbnRpdHkgaW5wdXRbdHlwZT1udW1iZXJdXG57XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4ucXVhbnRpdHkgaW5wdXQge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBsaW5lLWhlaWdodDogMS42NTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG59XG5cbi5xdWFudGl0eSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5xdWFudGl0eS1uYXYge1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4ucXVhbnRpdHktbmF2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLnF1YW50aXR5LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuICB3aWR0aDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJUcmVidWNoZXQgTVNcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGMkYyRjI7XG59XG5cbi5xdWFudGl0eS1idXR0b24ucXVhbnRpdHktdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogNTAlO1xuICB0b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xufVxuXG4ucXVhbnRpdHktYnV0dG9uLnF1YW50aXR5LWRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTFweDtcbiAgaGVpZ2h0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XG59XG4iLCIjaGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCB1cCkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG5cbiNsb2dvIHtcbiAgd2lkdGg6IHB4LXRvLXJlbSg4MHB4KTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEyNDBweCB1cCkge1xuICAgIHdpZHRoOiBweC10by1yZW0oMTAwcHgpO1xuICB9XG59XG5cbmxpLnBhbmllciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgYWxpZ24odik7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGFuaWVyLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogcHgtdG8tcmVtKDI0KTtcbiAgICBoZWlnaHQ6IHB4LXRvLXJlbSgyNCk7XG4gIH1cbn1cblxuLmhlYWRlci1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjQwcHggdXApIHtcbiAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjQwcHggdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cblxuICAgICAgcGF0aCxcbiAgICAgIHJlY3Qge1xuICAgICAgICBmaWxsOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW5ld3NsZXR0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEyNDBweCB1cCkge1xuICAgICAgICBwYWRkaW5nOiAwIDEzcHggMCAwO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXNlYXJjaCBzdmcge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJi0tY2FydCBzdmcge1xuICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgc3Ryb2tlOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgcmVjdCB7XG4gICAgICAgIGZpbGw6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmLmlzLWZ1bGwgLmNhcnQtY29udGVudHMtY291bnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmNhcnQtY29udGVudHMtY291bnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgcmlnaHQ6IDExcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEyNDBweCB1cCkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2X2hlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGZvbnQtc2l6ZTogcHgtdG8tZW0oMjUpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDIwKTtcbiAgfVxuXG4gIC5ibGFjay1jYXJ0IHtcbiAgICAmLmN1cnJlbnRfcGFnZV9wYXJlbnQsXG4gICAgJi5jdXJyZW50X3BhZ2VfaXRlbSB7XG4gICAgICAmYS5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQQ0V0TFNCSFpXNWxjbUYwYjNJNklFRmtiMkpsSUVsc2JIVnpkSEpoZEc5eUlESXhMakV1TUN3Z1UxWkhJRVY0Y0c5eWRDQlFiSFZuTFVsdUlDNGdVMVpISUZabGNuTnBiMjQ2SURZdU1EQWdRblZwYkdRZ01Da2dJQzB0UGdvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa05oYkhGMVpWOHhJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJS0NTQjJhV1YzUW05NFBTSXdJREFnT0RjdU5pQTJOeTQ0SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0E0Tnk0MklEWTNMamc3SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNEtQSE4wZVd4bElIUjVjR1U5SW5SbGVIUXZZM056SWo0S0NTNXpkREI3Wm1sc2JEcHViMjVsTzNOMGNtOXJaVG9qTmtZNU9UTXdPM04wY205clpTMTNhV1IwYURveU8zTjBjbTlyWlMxc2FXNWxZMkZ3T25KdmRXNWtPM04wY205clpTMXNhVzVsYW05cGJqcHliM1Z1WkR0OUNqd3ZjM1I1YkdVK0NqeDBhWFJzWlQ1R2FXTm9hV1Z5SURJeFBDOTBhWFJzWlQ0S1BHY2dhV1E5SWtOaGJIRjFaVjh5SWo0S0NUeG5JR2xrUFNKRFlXeHhkV1ZmTVMweUlqNEtDUWs4Y0dGMGFDQmpiR0Z6Y3owaWMzUXdJaUJrUFNKTk1USXVOaXd5TVM0NVRETXpMalVzTVV3eE1pNDJMREl4TGpsNklpOCtDZ2tKUEhCaGRHZ2dZMnhoYzNNOUluTjBNQ0lnWkQwaVRUYzFMak1zTWpFdU9VdzFOQzQwTERGTU56VXVNeXd5TVM0NWVpSXZQZ29KQ1R4d1lYUm9JR05zWVhOelBTSnpkREFpSUdROUlrMHpMalVzTWpJdU9XZzRNQzQyWXpFdU5Dd3dMREl1TlN3eExqRXNNaTQxTERJdU5YWTFMalJqTUN3eExqUXRNUzR4TERJdU5TMHlMalVzTWk0MVNETXVOV010TVM0MExEQXRNaTQxTFRFdU1TMHlMalV0TWk0MWRpMDFMalFLQ1FrSlF6RXNNalFzTWk0eExESXlMamtzTXk0MUxESXlMamw2SWk4K0Nna0pQSEJ2Ykhsc2FXNWxJR05zWVhOelBTSnpkREFpSUhCdmFXNTBjejBpTmk0eUxETXpMak1nTVRrdU15dzJOaTQ0SURZMUxqSXNOall1T0NBNE1TNDBMRE16TGpNZ0NRa2lMejRLQ1FrOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5Namt1TWl3ME15NDRUREk1TGpJc05ETXVPSG9pTHo0S0NRazhjR0YwYUNCamJHRnpjejBpYzNRd0lpQmtQU0pOTlRndU5DdzBNeTQ0VERVNExqUXNORE11T0hvaUx6NEtDUWs4Y0dGMGFDQmpiR0Z6Y3owaWMzUXdJaUJrUFNKTk5ETXVPQ3cwTXk0NFREUXpMamdzTkRNdU9Ib2lMejRLQ1R3dlp6NEtQQzluUGdvOEwzTjJaejRLJykgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyOHB4IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI0MHB4IHVwKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0E0Tnk0MU9DQTJOeTQzTlNJK1BHUmxabk0rUEhOMGVXeGxQaTVqYkhNdE1YdG1hV3hzT201dmJtVTdjM1J5YjJ0bE9pTXdNREE3YzNSeWIydGxMV3hwYm1WallYQTZjbTkxYm1RN2MzUnliMnRsTFd4cGJtVnFiMmx1T25KdmRXNWtPM04wY205clpTMTNhV1IwYURveWNIZzdmVHd2YzNSNWJHVStQQzlrWldaelBqeDBhWFJzWlQ1R2FXTm9hV1Z5SURFM1BDOTBhWFJzWlQ0OFp5QnBaRDBpUTJGc2NYVmxYeklpSUdSaGRHRXRibUZ0WlQwaVEyRnNjWFZsSURJaVBqeG5JR2xrUFNKRFlXeHhkV1ZmTVMweUlpQmtZWFJoTFc1aGJXVTlJa05oYkhGMVpTQXhJajQ4Y0dGMGFDQmpiR0Z6Y3owaVkyeHpMVEVpSUdROUlrMHhNaTQyTlN3eU1TNDROeXd6TXk0MU15d3hXaUl2UGp4d1lYUm9JR05zWVhOelBTSmpiSE10TVNJZ1pEMGlUVGMxTGpJNExESXhMamczTERVMExqUXNNVm9pTHo0OGNtVmpkQ0JqYkdGemN6MGlZMnh6TFRFaUlIZzlJakVpSUhrOUlqSXlMamt5SWlCM2FXUjBhRDBpT0RVdU5UZ2lJR2hsYVdkb2REMGlNVEF1TkRRaUlISjRQU0l5TGpVaUlISjVQU0l5TGpVaUx6NDhjRzlzZVd4cGJtVWdZMnhoYzNNOUltTnNjeTB4SWlCd2IybHVkSE05SWpZdU1qSWdNek11TXpVZ01Ua3VNamNnTmpZdU56VWdOalV1TVRrZ05qWXVOelVnT0RFdU16WWdNek11TXpVaUx6NDhjR0YwYUNCamJHRnpjejBpWTJ4ekxURWlJR1E5SWsweU9TNHhPQ3cwTXk0M09YWXdXaUl2UGp4d1lYUm9JR05zWVhOelBTSmpiSE10TVNJZ1pEMGlUVFU0TGpRc05ETXVOemwyTUZvaUx6NDhjR0YwYUNCamJHRnpjejBpWTJ4ekxURWlJR1E5SWswME15NDNPU3cwTXk0M09YWXdXaUl2UGp3dlp6NDhMMmMrUEM5emRtYysnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyOHB4IDI4cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29udGVudDogJyAnO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI0MHB4IHVwKSB7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREl4TGpFdU1Dd2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWtOaGJIRjFaVjh4SWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSUtDU0IyYVdWM1FtOTRQU0l3SURBZ09EY3VOaUEyTnk0NElpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBNE55NDJJRFkzTGpnN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajRLUEhOMGVXeGxJSFI1Y0dVOUluUmxlSFF2WTNOeklqNEtDUzV6ZERCN1ptbHNiRHB1YjI1bE8zTjBjbTlyWlRvak5rWTVPVE13TzNOMGNtOXJaUzEzYVdSMGFEb3lPM04wY205clpTMXNhVzVsWTJGd09uSnZkVzVrTzNOMGNtOXJaUzFzYVc1bGFtOXBianB5YjNWdVpEdDlDand2YzNSNWJHVStDangwYVhSc1pUNUdhV05vYVdWeUlESXhQQzkwYVhSc1pUNEtQR2NnYVdROUlrTmhiSEYxWlY4eUlqNEtDVHhuSUdsa1BTSkRZV3h4ZFdWZk1TMHlJajRLQ1FrOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5NVEl1Tml3eU1TNDVURE16TGpVc01Vd3hNaTQyTERJeExqbDZJaTgrQ2drSlBIQmhkR2dnWTJ4aGMzTTlJbk4wTUNJZ1pEMGlUVGMxTGpNc01qRXVPVXcxTkM0MExERk1OelV1TXl3eU1TNDVlaUl2UGdvSkNUeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazB6TGpVc01qSXVPV2c0TUM0Mll6RXVOQ3d3TERJdU5Td3hMakVzTWk0MUxESXVOWFkxTGpSak1Dd3hMalF0TVM0eExESXVOUzB5TGpVc01pNDFTRE11TldNdE1TNDBMREF0TWk0MUxURXVNUzB5TGpVdE1pNDFkaTAxTGpRS0NRa0pRekVzTWpRc01pNHhMREl5TGprc015NDFMREl5TGpsNklpOCtDZ2tKUEhCdmJIbHNhVzVsSUdOc1lYTnpQU0p6ZERBaUlIQnZhVzUwY3owaU5pNHlMRE16TGpNZ01Ua3VNeXcyTmk0NElEWTFMaklzTmpZdU9DQTRNUzQwTERNekxqTWdDUWtpTHo0S0NRazhjR0YwYUNCamJHRnpjejBpYzNRd0lpQmtQU0pOTWprdU1pdzBNeTQ0VERJNUxqSXNORE11T0hvaUx6NEtDUWs4Y0dGMGFDQmpiR0Z6Y3owaWMzUXdJaUJrUFNKTk5UZ3VOQ3cwTXk0NFREVTRMalFzTkRNdU9Ib2lMejRLQ1FrOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5ORE11T0N3ME15NDRURFF6TGpnc05ETXVPSG9pTHo0S0NUd3ZaejRLUEM5blBnbzhMM04yWno0SycpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjhweCAyOHB4O1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICB1bDpub3QoLnN1Yi1tZW51KSB7XG4gICAgPiBsaSB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgPiBhOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuXG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogIzIwNDQzMztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgcGFkZGluZzogMzBweCA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEyNDBweCB1cCkge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLnN1Yi1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgPiBsaTpob3ZlciB7XG4gICAgICAgICAgICA+IGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLnN1Yi1tZW51LFxuICAgICAgICAgICAgPiAud3JhcC1zdWJtZW51IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcbiAgICA+IGxpLmN1cnJlbnRfcGFnZV9wYXJlbnQsXG4gICAgPiBsaS5jdXJyZW50LW1lbnUtcGFyZW50LFxuICAgID4gbGkuY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBtZWdhbWVudSBzdWJtZW51ICovXG4gIC8qIG5pdmVhdSAxICovXG4gID4gdWwgPiBsaSA+IC5zdWItbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmVcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LCAuOCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjQwcHggdXApIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAyNSU7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgPiBsaSA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAvLyBhcnJvdyBvbiBzdWJtZW51IGxldmVsIDFcbiAgICA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjphZnRlcixcbiAgICA+IGxpLm1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSA+IGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhZGI0NDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjYWRiNDQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZykgc2tldyg4ZGVnLCA4ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICA+IGxpOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICNjYWRiNDQ7XG4gICAgfVxuICB9XG5cbiAgLyogbml2ZWF1IDIgLSB0eXBlIHRheG9ub215ICovXG4gID4gdWwgPiBsaSA+IC5zdWItbWVudSA+IGxpID4gLnN1Yi1tZW51LFxuICA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC53cmFwLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCA0MHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgPiBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgPiBsaSA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAubWVudS1pdGVtLXR4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiB1bCA+IGxpID4gLnN1Yi1tZW51ID4gbGkgPiAuc3ViLW1lbnUge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuXG4gICAgLmNoaWxkLWNhdC1pbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICB9XG4gIH1cblxuICA+IHVsID4gbGkgPiAuc3ViLW1lbnUgPiBsaSA+IC53cmFwLXN1Ym1lbnUge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmNoaWxkLWNhdC1pbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICB9XG4gIH1cblxuICAubmEtcHJvamVjdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbG9nby1uYS1wcm9qZWN0LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3N3B4IDM1cHg7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG59XG5cbi5oZWFkZXItYmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLndvby1jYXJ0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHRvcDogcHgtdG8tcmVtKC0xMDApO1xuICAgIHJpZ2h0OiBweC10by1yZW0oLTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuLm1lbnUtcmVzcG9uc2l2ZS1tZW51IC5tZW51IHtcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICYuYWNjb3JkaW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG5cbiAgICAgICYgPiBhIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogcHgtdG8tcmVtKDE1KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICBjb250ZW50OiAnPic7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5zdWItbWVudSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgZWFzZS1vdXQgMC4ycztcbiAgICB9XG5cbiAgICAmLmFjY29yZGlvbi1oaWRlIHtcbiAgICAgID4gLnN1Yi1tZW51IHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgZWFzZS1vdXQgMC4ycztcbiAgICAgIH1cblxuICAgICAgJiA+IGEge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiBweC10by1yZW0oMTUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDApO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgICAgY29udGVudDogJz4nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndyYXAtc3VibWVudSxcbiAgLm1lbnUtaXRlbS10eHQsXG4gIC5jaGlsZC1jYXQtaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgPiBsaSA+IHVsID4gbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5IWltcG9ydGFudDtcblxuICAgID4gYSB7XG4gICAgICBjb2xvcjogJHdoaXRlIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5IWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogcHgtdG8tcmVtKDIwKSBweC10by1yZW0oMjApIHB4LXRvLXJlbSgyMCkgcHgtdG8tcmVtKDMwKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiBweC10by1yZW0oMjApIHB4LXRvLXJlbSgyMCkgcHgtdG8tcmVtKDIwKSBweC10by1yZW0oNjApICFpbXBvcnRhbnQ7XG4gIH1cblxuICA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiBweC10by1yZW0oMjApIHB4LXRvLXJlbSgyMCkgcHgtdG8tcmVtKDIwKSBweC10by1yZW0oOTApICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnN1Yi1tZW51IGEge1xuICBwYWRkaW5nOiBweC10by1yZW0oMjApIHB4LXRvLXJlbSgyMCkgcHgtdG8tcmVtKDMwKSBweC10by1yZW0oMjApICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24jbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDowO1xufVxuIiwiLm1haW4tdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDY1dmggIWltcG9ydGFudDtcblxuICAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZnMtY2Fyb3VzZWwge1xuICBoZWlnaHQ6IDY1dmg7XG59XG5cbi5jYXJvdXNlbC1jZWxsIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59IiwiLmxhbmctc3dpdGNoZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gIGZvbnQtc2l6ZTogMTVweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAqOmZpcnN0LWxldHRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgxNSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1wcmltYXJ5LCAuNyk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBjb2xvcjogJGdyZWVuLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiBweC10by1yZW0oMTIpO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKHB4LXRvLXJlbSg4cHgpLCByZ2JhKCRjb2xvci1wcmltYXJ5LCAuNyksIHVwKTtcbiAgICB9XG4gIH1cblxuICAmLmpzLWlzLWhvdmVyIHtcbiAgICAubGFuZy1zd2l0Y2hlci1idXR0b246OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLmxhbmctc3dpdGNoZXItYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweCA4cHg7XG4gIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjQwcHggdXApIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweCAxM3B4O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMnM7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gICY6Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgICsgdWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5sYW5nLWl0ZW0ge1xuICB6LWluZGV4OiAxMDtcbn1cblxuXG4ubWVudS1yZXNwb25zaXZlLWNvbnRhaW5lciAubGFuZy1zd2l0Y2hlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAyMHB4O1xuICB6LWluZGV4OiAwO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gID4gdWwge1xuICAgIGJvdHRvbTogMTMwJTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IC04cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cbn0iLCIuc2VhcmNoLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgdHJhbnNpdGlvbjogdG9wIGVhc2Utb3V0IDAuMnM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggdXApIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBoZWlnaHQ6IDc4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTI0MHB4IHVwKSB7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gIH1cblxuICAjbG9nbyB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggdXApIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogNzElO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHdpZHRoOiA4MSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgd2lkdGg6IDcxJTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDE1cHg7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggdXApIHtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYWduaWZpZXIuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMjQwcHggdXApIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLWZpZWxkIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi5qcy1pcy12aXNpYmxlIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNzB2aDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjV2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgZWFzZS1vdXQgMC41cztcblxuICAgICYuanMtaXMtb3BlbiB7XG4gICAgICB0b3A6IDYwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgdG9wOiA3OHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Jlc3VsdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMTAwcHgsIGF1dG8pO1xuICAgIHJvdy1nYXA6IDU1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIwMHB4IHVwKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBmbGV4OiBhdXRvO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgbWF4LXdpZHRoOiAyODZweDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAxOTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1yZXN1bHQge1xuICAgICAgY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbn0iLCIuc2xpZGVySG9tZUFjdHUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmY0Yzc7XG4gIHBhZGRpbmc6IDMwcHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgcGFkZGluZzogNTBweCAwIDMwcHg7XG4gIH1cblxuICAucm93IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLm5hLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTcuNiU7XG4gICAgdG9wOiAxNDBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyNHB4IGRvd24pIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IGF1dG8gYXV0byAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLWNhcm91c2VsIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICBoZWlnaHQ6IDI5cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODMwcHggZG93bikge1xuICAgICAgaGVpZ2h0OiAyOHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDU4MHB4IGRvd24pIHtcbiAgICAgIGhlaWdodDogMjVyZW07XG4gICAgfVxuXG5cbiAgICAuY2Fyb3VzZWwtY2VsbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLnNsaWRlckhvbWVBY3R1X19ibG9jIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gYXV0bztcbiAgICAgICAgd2lkdGg6IDc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA1JTtcbiAgICAgICAgcGFkZGluZzogMCA1LjRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDgzMHB4IGRvd24pIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1ODBweCBkb3duKSB7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggdXApIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxOXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1ODBweCBkb3duKSB7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTQwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud3lzaXd5ZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMjRweCBkb3duKSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJCcnluZGFuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mjk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDI0cHggZG93bikge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEBBdXRob3I6IDM2IFBpeGVscyA8aW1hYz5cbi8vIEBEYXRlOiAgIDE3LzA3LzIwMTcsIDExOjQ5OjQxXG4vLyBARW1haWw6ICBhbmFpc0AzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF9zbGlkZXItc3Rvcnkuc2Nzc1xuLy8gQExhc3QgbW9kaWZpZWQgYnk6ICAgaW1hY1xuLy8gQExhc3QgbW9kaWZpZWQgdGltZTogMjAxOC0wNi0wNVQxNzowODo1NiswMjowMFxuLy8gQExpY2Vuc2U6IChjKSAyMDE3IGJ5IDM2IFBpeGVscy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cblxuXG5cbi5zdG9yeS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogcHgtdG8tcmVtKCA1MCApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIG9ubHkgKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfTtcblxuICAgIC5pbWFnZS1zbGlkZXIge1xuICAgICAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm93bC1uZXh0LFxuICAgIC5vd2wtcHJldiB7XG4gICAgICAgIHdpZHRoOiBweC10by1yZW0oIDUwICk7XG4gICAgICAgIGhlaWdodDogcHgtdG8tcmVtKCA1MCApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogcHgtdG8tcmVtKCAtNTAgKTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IHB4LXRvLXJlbSggMTYgKTtcbiAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKCAxNiApO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogcHgtdG8tcmVtKCAyMiApO1xuICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oIDIgKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggdHJhbnNsYXRlKC01MCUsIC01MCUpICk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtbmV4dCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9O1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0oIHRyYW5zbGF0ZSgtMzAlLCAtNTAlKSByb3RhdGUoLTEzNWRlZykgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtcHJldiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdG9wOiBweC10by1yZW0oIDUxICk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIG9ubHkgKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybSggdHJhbnNsYXRlKC03MCUsIC01MCUpIHJvdGF0ZSg0NWRlZykgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN0b3J5LWRhdGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlIHVwICkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH07XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDIwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCApIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlIGRvd24gKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogdXJsKCcuLi9pbWFnZXMvc3BvdC5wbmcnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ247XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RvcnktbGVmdC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoIDI0cHggKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSggNyApO1xuICAgIHotaW5kZXg6IDA7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBweC10by1yZW0oIDY0ICk7XG4gICAgICAgIGhlaWdodDogcHgtdG8tcmVtKCAyICk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi5zdG9yeS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKCA5MCApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWJnLWZvdW5kVXM7XG5cbiAgICBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZ3Jhc3MuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKCAzMCApO1xuICAgIH07XG59XG5cbi5zdG9yeS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgdXAgKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgzMHB4KTtcbiAgICB9O1xuXG4gICAgQGluY2x1ZGUgdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoIDI1cHggKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXJlZ3VsYXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSggNDBweCApO1xuICAgICAgICBjb2xvcjogIzIwNDQzMztcbiAgICB9XG5cbiAgICBwLCBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoIDE1cHggKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG4uc3RvcnktbGVmdCB7XG4gICAgbWF4LXdpZHRoOiBweC10by1yZW0oIDU1MCApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH07XG4gICAgLnN0b3J5LXNsaWRlciB7XG4gICAgICAgIHotaW5kZXg6IDAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8vIEBBdXRob3I6IGltYWNcbi8vIEBEYXRlOiAgIDIwMTctMDUtMjJUMTI6MDE6MjYrMDI6MDBcbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDIwMTgtMDYtMDVUMTc6NDc6MDIrMDI6MDBcblxuXG5cbi5tYW5pZmVzdC1zZWN0aW9uIHtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvcml6LW1haXMtbWFuaWZlc3RlLTEucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyLFxuICAgdXJsKCcuLi9pbWFnZXMvcGV0aXRzLXBvaXMtbWFuaWZlc3RlLTEucG5nJykgbm8tcmVwZWF0IDQwcHggNTMwcHgsXG4gICB1cmwoJy4uL2ltYWdlcy9mcmFpc2VfcG9tbWUucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcblxuICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSggMTAwcHggKTtcblxuICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIGRvd24gKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSggNTBweCApO1xuICAgfTtcblxuICAgaDIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSggMjdweCApO1xuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oIDMwcHggKTtcbiAgIH1cbiAgIC5pbWFnZS10aXRyZS1tYW5pZmVzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICB9XG5cbiAgIGltZy5pY29uLW1hbmlmZXN0IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiBweC10by1yZW0oIDMwcHggKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwICkge1xuICAgICAgICAgbWFyZ2luLXJpZ2h0OiBweC10by1yZW0oIDQwcHggKTtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9O1xuICAgfVxuXG4gICAud3JhcC1saXN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKCAzMHB4ICk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBweC10by1yZW0oIDMwcHggKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwICkge1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICBtYXJnaW4tdG9wOiBweC10by1yZW0oIDMwcHggKTtcbiAgICAgIH07XG4gICB9XG5cbiAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAxNnB4ICk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKCAyMHB4ICk7XG4gICAgICBwYWRkaW5nLXRvcDogcHgtdG8tcmVtKCA1cHggKTtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAyMHB4ICk7XG4gICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICB9XG5cbiAgIC51cGFyciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgfVxufVxuIiwiLy8gQEF1dGhvcjogaW1hY1xuLy8gQERhdGU6ICAgMjAxNy0xMC0xMlQxOToxNDowOCswMjowMFxuLy8gQExhc3QgbW9kaWZpZWQgYnk6ICAgaW1hY1xuLy8gQExhc3QgbW9kaWZpZWQgdGltZTogMjAxOC0wNi0wNlQxMToxOToxNiswMjowMFxuXG5cblxuLmVxdWlwZS1zZWN0aW9uIHtcbiAgcGFkZGluZzogcHgtdG8tcmVtKDIwcHgpIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y3Zjc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC53cmFwLWxpc3QtZXF1aXBlIHtcbiAgICBwYWRkaW5nLXRvcDogcHgtdG8tcmVtKDQwcHgpO1xuICAgIC8vIC5vd2wtaXRlbSB7XG4gICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xuICAgIC8vICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAvLyAgIH07XG4gICAgLy8gfVxuICAgIC5zaG93LWZvci1tZWRpdW0ge1xuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgLy8gYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiA1cHggMjdweCAwcHggMjdweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDM1cHggMHB4IDM1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTYlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICAgICAgICAvLyAgICAgbWFyZ2luOiA0MHB4IDQwcHggMHB4IDQwcHg7XG4gICAgICAgICAgLy8gICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgLy8gfTtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBkb3duICkge1xuICAgICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyAgICAgLy8gd2lkdGg6IDM0JTtcbiAgICAgICAgICAvLyAgICAgLy8gbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgLy8gfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2hvdy1mb3Itc21hbGwge1xuICAgICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICB1bCBsaSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAvLyB3aWR0aDogMTUlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy8gbWFyZ2luOiA0MHB4IDI3cHggMHB4IDI3cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGgxLm5hLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjBweCk7XG4gICAgLndvcmsge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEzcHgpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgfVxuICB9XG4gIC53cmFwLWltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxNjZweDtcbiAgICBoZWlnaHQ6IDIwM3B4O1xuXG4gIH1cblxuICAuY2l0ZSB7XG4gICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHdpZHRoOiAxNjZweDtcbiAgICBoZWlnaHQ6IDIwM3B4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNSwgNzIsIDk5LCAwLjkpO1xuICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjJweCk7XG4gICAgcGFkZGluZzogcHgtdG8tcmVtKDMwcHgpIHB4LXRvLXJlbSgxNXB4KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRncmVlbi1saWdodDtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGdyZWVuLWxpZ2h0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTNweDtcbiAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkZ3JlZW4tbGlnaHQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgJGdyZWVuLWxpZ2h0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIDtcbiAgICB9XG4gIH1cbiAgLmRpc3BsYXkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5vd2wtc3RhZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uZm91bmQtdXMtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1iZy1mb3VuZFVzO1xuXG4gIGgxLCBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgZm9udC1zaXplOiBweC10by1lbSgyMCk7XG4gIH1cblxuICBwIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICBmb250LXNpemU6IHB4LXRvLWVtKDE0KTtcbiAgfVxuXG4gIC5uYS1jb250ZW50IHtcbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjlyZW07XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmEtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogJGZvbnQtZXh0cmEtbGlnaHQ7XG5cbiAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI5cHgpO1xuICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybShyb3RhdGUoLTNkZWcpKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIzcHgpO1xuICAgIH1cbiAgfVxufVxuXG4uY291bnRyaWVzIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcblxuICAmX19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDM3cHggYXV0bztcblxuICAgICZfX2ZsYWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmX193cmFwLWxhYmVscyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMHB4LCAyNXB4KTtcbiAgICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgICAgcm93LWdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAyNHB4IDEwcHg7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICYuZ3JpZC0xY29sIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBAQXV0aG9yOiAzNiBQaXhlbHMgPGltYWM+XG4vLyBARGF0ZTogICAxMy8xMC8yMDE3LCAzOjEyOjA4XG4vLyBARW1haWw6ICBhbmFpc0AzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF90b3VzLWluZ3JlZGllbnRzLnNjc3Ncbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDIwMTgtMDYtMDFUMTc6MjA6MTkrMDI6MDBcbi8vIEBMaWNlbnNlOiAoYykgMjAxNyBieSAzNiBQaXhlbHMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cblxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmhlYWRlci1pbmdyZWRpZW50cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBweC10by1yZW0oNTUwcHgpO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLy8gaGVpZ2h0OiAxMDAlXG4gIH1cbiAgLmJhY2tncm91bmQtaW5ncmVkaWVudHMtbGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWJmMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAyNTAlO1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICA7XG5cbiAgfVxuICAuYmFja2dyb3VuZC1pbmdyZWRpZW50cy1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjhmYTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG4gIC53cmFwLWluZ3JlZGllbnRzLWJsb2MtbGVmdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBweC10by1yZW0oLTIwMHB4KTtcbiAgICAgIGhlaWdodDogcHgtdG8tcmVtKDY3NHB4KTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIGRvd24gKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDAlO1xuICAgICAgICAgIHdpZHRoOiAzMDAlIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXItd3JhcC1pbmdyZWRpZW50cy1ibG9jLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiA0M3B4O1xuXG4gIH1cbiAgLndyYXAtaW5ncmVkaWVudHMtYmxvYy1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwYWRkaW5nOiBweC10by1yZW0oMjApIHB4LXRvLXJlbSgzNSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBweC10by1yZW0oMTAwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAvLyBwb3NpdGlvbjogaW5oZXJpdDtcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIC8vIHRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcHgtdG8tcmVtKDIwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDEwKSBweC10by1yZW0oMjApO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC50YW1wb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICYtLXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgbWFyZ2luLXRvcDogMzRweDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICB9XG4gICAgJi0tdHh0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IDM4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgxNik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE2KTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgICAudml0YW1pbiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oMzApO1xuICAgIH1cbiAgfVxufVxuXG4udml0YW1pbmVfdHlwZSB7XG4gIGxpIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNmY5OTMwO1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmluZ3JlZGllbnRzX3N1Ym1lbnUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJi0tbmFtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgbWFyZ2luOiBweC10by1yZW0oMzUpO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbjogMnZoIDJ2dztcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODE4cHgpIHtcbiAgICAgIG1hcmdpbjogMC41dmggMTJ2d1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgIG1hcmdpbjogMC41dmggNXZ3XG4gICAgfVxuICB9XG59XG5cbi5pbmdyZWRpZW50cy1hY3RpdmUge1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zcG90LWxhcmdlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLmluZ3JlZGllbnRzLWhpZGUge1xuICBkaXNwbGF5OiBub25lO1xuXG59XG5cbi5mcnVpdHMtZGlzcGxheS1vdXRlciB7XG4gIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSgyOCk7XG4gIC8vICY6bnRoLWNoaWxkKDEpIHtcbiAgLy8gICBjbGVhcjogYm90aDtcbiAgLy8gfVxuICAvLyAmOm50aC1jaGlsZCg0bikge1xuICAvLyAgIGNsZWFyOiBib3RoO1xuICAvLyB9XG59XG5cbi5mcnVpdHMtZGlzcGxheSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xuXG4gIGgzIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtdGVydGlhcnk7XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE4KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC5mcnVpdHMtdG9wIHtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZnJ1aXRzLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmVlbjtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmVlbjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JlZW47XG4gICAgZGlzcGxheTogbm9uZTtcblxuICB9XG5cbiAgJi5mcnVpdHMtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICRncmVlbjtcblxuICAgIC5mcnVpdHMtYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYuZnJ1aXRzLW9wYWNpdHkge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG59XG5cbi5icnVzaC11cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMzFweDtcbiAgOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQ0JTtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMjclO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uYnJ1c2gtZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMzFweDtcbiAgOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwJTtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTklO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uaW5ncmVkaWVudHMtcHJvcGVydGllcyB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogLTFyZW0gMCAycmVtIDA7XG4gIH1cbn1cblxuLnByb2R1Y3Rfc2xpZGUge1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAmLS1maXJzdEltYWdlIHtcbiAgICBwYWRkaW5nOiAxMHB4IDcwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4uaW5ncmVkaWVudHMtc2xpZGVtb3ZlciB7XG5cbn1cblxuLmluZ3JlZGllbnRzLXNsaWRlci1nbG9iYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hcnJvdy1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB3aWR0aDogMTRweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctbGVmdC5wbmdcIik7XG59XG5cbi5hcnJvdy1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDIycHg7XG4gIHdpZHRoOiAxNHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy1yaWdodC5wbmdcIik7XG59XG4iLCIvLyBAQXV0aG9yOiAzNiBQaXhlbHMgPGltYWM+XG4vLyBARGF0ZTogICAxNS8xMS8yMDE3LCA1OjU5OjQ4XG4vLyBARW1haWw6ICBhbmFpc0AzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF90b3VzLXJlY2V0dGVzLnNjc3Ncbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDE2LzExLzIwMTcsIDEwOjQ0OjIyXG4vLyBATGljZW5zZTogKGMpIDIwMTcgYnkgMzYgUGl4ZWxzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuXG5cbi5uYS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmxpc3QtcmVjZXR0ZXMge1xuICAgICZfX2Jsb2Mge1xuICAgICAgICAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBweC10by1yZW0oIDIwICk7XG4gICAgICAgICAgICBhIHAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oIDEwcHggKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoIDEzcHggKTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtZXh0cmEtYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMzMHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWluLXdpZHRoOiA2MDZweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogODUxcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXZfY2F0ZWdvcnkgdWwgbGkge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAud3AtcGFnZW5hdmkge1xuICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oIDUwICkgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxufVxuIiwiLy8gQEF1dGhvcjogMzYgUGl4ZWxzIDxpbWFjPlxuLy8gQERhdGU6ICAgMjcvMDcvMjAxNywgMTI6MTE6NTVcbi8vIEBFbWFpbDogIGFuYWlzQDM2cGl4ZWxzLmZyXG4vLyBAUHJvamVjdDogRmlyc3QgUGl4ZWxcbi8vIEBGaWxlbmFtZTogX3JlY2V0dGVzLnNjc3Ncbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDA1LzA0LzIwMTgsIDExOjE5OjE0XG4vLyBATGljZW5zZTogKGMpIDIwMTcgYnkgMzYgUGl4ZWxzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuXG5cblxuLnJlY2lwZUhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIGJhY2tncm91bmQtc2l6ZTogMTIwMHB4O1xuICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgLy8gYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAmLS1jb250YWluZXIge1xuICAgIGhlaWdodDogNTMwcHg7XG5cbiAgICAmLS1ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiAoNTMwcHggLSA0MjBweCkgLyAyO1xuICAgICAgcGFkZGluZzogNTBweCA0NXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgODIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgOTIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgOTklLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgMTAwJSk7XG4gICAgICAmLS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNHB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAyM3B4ICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0taW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiA1JTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYmRiZGI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiO1xuICAgICAgICAmLS1ib3JkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwJTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmdyZWRpZW50IHtcbiAgICAgICAgICAmLS10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi0taWNvbmVDb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICYtLWljb25lIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDMuNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvdW50cnkge1xuICAgICAgICAgICYtLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS1pbWcge1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1leHRlbmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogNSU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ib3JkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwJTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDAuNXB4KTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGFyZSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMHB4KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NoYXJlLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODklO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvdW50IHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYtLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICAgICAgICBjb2xvcjogI2ZlMGE2NjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS10eHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmVjZXR0ZV9pbWd7XG4gICAgICBoZWlnaHQ6IDU0MHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cblxuLnJlY2lwZUluZm9CYXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaW5lLWdyZXk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cbiAgfVxuICAmLS1pbmZvIHtcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOnB4LXRvLXJlbSgyMDApO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgfVxuXG4gICAgJi0tY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwJTtcbiAgICB9XG5cbiAgfVxufVxuXG4ucmVjaXBlUHJlcGFyYXRpb24ge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gICYtLXByZXBhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMTUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgMTUlIDAgNSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6IDUlIDEwJTtcbiAgICB9XG5cbiAgICAmLS10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYtLXN0ZXAge1xuICAgICAgJi0tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG4gICAgICB9XG5cbiAgICAgICYtLXR4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICYtLWluZ3JlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDUlIDAgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nOiA1JSAxMCU7XG4gICAgfVxuXG4gICAgJi0tdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmLS1zdGVwIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmRiZGI7XG4gICAgfVxuXG4gIH1cbn1cblxuLnJlY2lwZVJlbGF0ZWQge1xuICAmLS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICYtLXJlY2lwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJi0taW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgJi0tdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVjaXBlUmVsYXRlZC0tbGluZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaW5lLWdyZXk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdFJlbGF0ZWQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufSIsIi5jb250ZW50TmF0dGl0dWRle1xuICBtYXJnaW4tdG9wOjIwcHg7XG5cbiAgaDJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiBweC10by1yZW0oMTZweCk7XG4gIH1cbn1cbi5jb2xvcmlhZ2VfaW5mb3tcbiAgLy8gbWFyZ2luOjAgMzBweDtcbiAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9O1xuICB9XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIGRvd24gKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH07XG4gIH1cblxuID4gaDJ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIHBhZGRpbmctdG9wOjEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbToyNXB4O1xuICB9XG5cblxuICAgIC5pbWFnZV9jb2xvcmlhZ2V7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgZGl2e1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcbiAgICAgICAgaDJ7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgICBsZWZ0OjUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVye1xuICAgICAgICBkaXZ7XG4gICAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG59XG4ubmF0dGl0dWRlLWZpbmFsLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiA1MHB4IDA7XG4gICZfX2ZpbmFsIHtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5jbGljIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5mbGV4X2NvbG9yaWFnZXtcbiAgLy8gZGlzcGxheTpmbGV4O1xuICAvLyBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG4iLCIucG9wdXAtaW5mbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjhweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB6LWluZGV4OiA5OTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gdXAgKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS45NjM7XG4gICAgfVxuICB9XG59XG4iLCIubmV3c1BvcHVwIHtcblxuICAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX2Z1bGxDb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjZlMztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgICZfX2JveCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgaGVpZ2h0OiA0NTBweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIC8vIG1hcmdpbi10b3A6IDEwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCB1cCApIHtcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyBtYXJnaW46IGF1dG87XG4gICAgICAgIC8vIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAvLyB0b3A6IDUwJTtcbiAgICAgICAgLy8gbGVmdDogNTAlO1xuICAgICAgICAvLyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gdXAgKSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDY4NXB4O1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgIC8vICAgd2lkdGg6IDUzJTtcbiAgICAgIC8vIH1cbiAgICAgIC8vXG4gICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICAgIC8vICAgd2lkdGg6IDYzJTtcbiAgICAgIC8vIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgZG93biApIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgaGVpZ2h0OiA1NzBweDtcbiAgICAgIH1cblxuICAgICAgJl9fYmFja2dyb3VuZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG5cbiAgICAgICZfX2Nsb3NlQnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB0b3A6IC03JTtcbiAgICAgICAgd2lkdGg6IDMuMyU7XG4gICAgICAgIGhlaWdodDogMjUlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLnN2Z1wiKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgICAgICB0b3A6IC02JTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDglO1xuICAgICAgICB6LWluZGV4OiAxMjtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgaGVpZ2h0OiA4NSU7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwICkge1xuICAgICAgICAgIG1hcmdpbjogNzBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDQ1cHg7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9O1xuXG5cbiAgICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgIGhlaWdodDogMTE0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAxN3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICAgICAgICAgIHdpZHRoOiAyOSU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgZG93biApIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19mb3JtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIC5nZm9ybV93cmFwcGVyIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgZG93biApIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2Zvcm1faGVhZGluZyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5nZm9ybV9maWVsZHMge1xuXG4gICAgICAgICAgICAgICAgICAuZnBfZ2Zvcm1fZW1haWwge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmVlbi1kYXJrO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC5mcF9nZm9ybV9jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAuZ2Nob2ljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5idXR0b24tc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkZ3JlZW4tbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJGdyZWVuLWxpZ2h0O1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoIHNtYWxsIGRvd24gKSB7XG4gICAgICAgICAgICAgICAgICAvLyAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5hY2NlcHRfbWVzc2FnZSxcbiAgICAgICAgICAuYnV0dG9uX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEBBdXRob3I6IDM2IFBpeGVscyA8Z3JlZ29pcmVwdWdldD5cbi8vIEBEYXRlOiAgIDAyLzA4LzIwMTcsIDM6MTQ6NDRcbi8vIEBFbWFpbDogIGdyZWdvaXJlQDM2cGl4ZWxzLmZyXG4vLyBAUHJvamVjdDogRmlyc3QgUGl4ZWxcbi8vIEBGaWxlbmFtZTogX2NvbnRhY3Quc2Nzc1xuLy8gQExhc3QgbW9kaWZpZWQgYnk6ICAgaW1hY1xuLy8gQExhc3QgbW9kaWZpZWQgdGltZTogMjAxOC0wNS0zMFQxNTowMjoyMiswMjowMFxuLy8gQENvcHlyaWdodDogKGMpIDIwMTcgYnkgMzYgUGl4ZWxzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuXG5cblxuLm5hLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbnRhY3Qge1xuICAvL2hlYWRlciBzZWN0aW9uXG5cbiAgJi0taGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICYtLWltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLS1pbnRybyB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAmLS10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgfVxuXG4gICAgJi0tdHh0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgfVxuXG4gICAgJi0taW50cm8gcCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMTcpO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy90aHJlZSBsb2dvIHNlY3Rpb25cblxuICAmLS1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwNXB4O1xuICAgICYtLXRlbCwgJi0tYWRyZXNzLCAmLS1tYWlsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgICAmLS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGVsIHtcbiAgICAgICYtLW51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hZHJlc3Mge1xuICAgICAgJi0tdHh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tYWlsIHtcbiAgICAgICYtLXR4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL2Zvcm0gc2VjdGlvblxuXG4gICYtLWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuY29jaGUtcmdwZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZwX2dmb3JtX21lZGl1bSB7XG4gICAgICB3aWR0aDogNDclO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIHNlbGVjdC5tZWRpdW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0Lm1lZGl1bTo6cGxhY2Vob2xkZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgc2VsZWN0Lm1lZGl1bTo6cGxhY2Vob2xkZXIsIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIHNlbGVjdC5tZWRpdW0ge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2lucHV0XzFfNCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgI2lucHV0XzFfOSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90cmlhbmdsZS5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICAgIC5nZm9ybV93cmFwcGVyIHVsIGxpLmdmaWVsZCB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmZvcm0tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5mb3JtLWFsbCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLW1lc3NhZ2Uge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjZ2Zvcm1fc3VibWl0X2J1dHRvbl8xIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDE3cHggMjhweDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1pbmZvIHtcbiAgICAgIGNvbG9yOiAjZjIxYzc3O1xuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGJvdHRvbTogODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1wcmVzcyB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAmLS1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaW5lLWdyZXk7XG4gICAgICBwYWRkaW5nLXRvcDogNDdweDtcbiAgICAgICYtLWludHJvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgJi0tdGl0bGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS10eHQge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLWZpbGUge1xuICAgICAgICAmLS1ncm91cGUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS10eHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmLS1uYW1lIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE3KTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWRhdGUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTcpO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgcGFkZGluZzogMCA1JTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nOiAwIDUlO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC1ib3JkZXItdXBGZWVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGluZS1ncmV5O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5ne1xuICAgIGJhY2tncm91bmQ6bm9uZSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDpub25lIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOm5vbmUhaW1wb3J0YW50O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCl7XG5cbi5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLmdmb3JtX2JvZHkgdWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKSB7XG53aWR0aDo0NyU7XG5cbn19XG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZhZkJlYztcblxuICAmX19jb250ZW50e1xuICAgIHBhZGRpbmctdG9wOiAzNHB4O1xuXG4gICAgLnJvdyB7XG4gICAgICBtYXgtd2lkdGg6IDExMHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICZfX3RvcCB7XG5cbiAgICAgICZfX2xvZ28ge1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgICAvLyB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX21lbnUge1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtIDAuN3JlbSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoZXZyb24tZ3JlZW4uc3ZnXCIpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fc2hhcmUge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICBoZWlnaHQgOiAzNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgICYueW91dHViZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy95b3V0dWJlX2JsYWNrLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW5zdGFncmFtX2JsYWNrLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mYWNlYm9va19ibGFjay5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fbmV3c2xldHRlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjMjA0NDMzO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdmb3JtX3dyYXBwZXJ7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDI5MHB4O1xuXG4gICAgICAgICAgICAgIC5nZm9ybV9maWVsZHMge1xuXG4gICAgICAgICAgICAgICAgLmdmaWVsZCB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbi1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmVlbjtcblxuICAgICAgJl9fbWVudSB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbi1mZWVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSB0aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDM1KTtcbiAgICBtYXJnaW4tYm90dG9tOiBweC10by1yZW0oNDgpO1xuICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgyMCkgcHgtdG8tcmVtKDY0KTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDM1cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oNDApO1xuICAgICY6OmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2NpdGF0aW9uLnBuZycpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIEBpbmNsdWRlIGZwX3RyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IHB4LXRvLXJlbSgxMCk7XG4gICAgfVxuICB9XG59XG4iLCIjdmFsdWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi52YWx1ZS1tYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IHB4LXRvLXJlbSg1Mik7XG4gICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSg1Mik7XG4gICAgcGFkZGluZy1sZWZ0OiBweC10by1yZW0oMzApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHB4LXRvLXJlbSgzMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMzApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcHgtdG8tcmVtKDMwKTtcbiAgICB9XG59XG5cbi52YWx1ZS1tYXJnZS12aWRlbyB7XG4gICAgcGFkZGluZy10b3A6IHB4LXRvLXJlbSgyMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHB4LXRvLXJlbSgzNik7XG4gICAgcGFkZGluZy1sZWZ0OiBweC10by1yZW0oMzApO1xuICAgIHBhZGRpbmctcmlnaHQ6IHB4LXRvLXJlbSgzMCk7XG59XG5cbi52YWx1ZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIC45KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDIuNXJlbSAycmVtIDIuNXJlbTtcbiAgICB9XG5cbiAgICA+IHAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgcGFkZGluZzogMCA2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOXB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHAge1xuICAgICAgICAvLyBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogIzQ0NDQ0NDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4IDAgNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLTEsXG4gICAgICAgIC5pbWctMixcbiAgICAgICAgLmltZy0zIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNTUwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAuMnMgZWFzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnBvbW1lLFxuLmZyYW1ib2lzZSxcbi5vcmFuZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5wb21tZSB7XG4gICAgdG9wOiAycmVtO1xuICAgIGxlZnQ6IC0zcmVtO1xuICAgIHdpZHRoOiBweC10by1yZW0oODQpO1xuICAgIGhlaWdodDogcHgtdG8tcmVtKDE2MCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcG9tbWUucG5nJyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDEwMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogcHgtdG8tcmVtKDExMilcbiAgICB9XG59XG5cbi5mcmFtYm9pc2Uge1xuICAgIHRvcDogNHJlbTtcbiAgICByaWdodDogLTRyZW07XG4gICAgd2lkdGg6IHB4LXRvLXJlbSg4OCk7XG4gICAgaGVpZ2h0OiBweC10by1yZW0oMTc1KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9mcmFuYm9pc2UucG5nJyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHRvcDogMjUlO1xuICAgICAgICByaWdodDogLTIuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oMTIwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHdpZHRoOiBweC10by1yZW0oMTU3KTtcbiAgICB9XG59XG5cbi5vcmFuZ2Uge1xuICAgIGJvdHRvbTogMiU7XG4gICAgbGVmdDogLTRyZW07XG4gICAgd2lkdGg6IHB4LXRvLXJlbSgxMTIpO1xuICAgIGhlaWdodDogcHgtdG8tcmVtKDE5NSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvb3JhbmdlLnBuZycpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogcHgtdG8tcmVtKDIwMCk7XG4gICAgICAgIGJvdHRvbTogLTIlO1xuICAgIH1cbn1cblxuLm5hLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtZXh0cmEtbGlnaHQ7XG4gICAgXG4gICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI5cHgpO1xuICAgICAgICBAaW5jbHVkZSBmcF90cmFuc2Zvcm0ocm90YXRlKC0zZGVnKSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjNweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudmlkZW8taG9tZSB7XG4gICZfX2NvbnRhaW5lciB7XG4gICAgLm5hLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgICZfX3ZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MyU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyZWVuLWRhcms7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucG9wdXAtZ2FtZV9fYmcge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTA0MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLCAuNCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLmlzLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnBvcHVwLWdhbWVfX3dyYXAge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA0MztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAmLmlzLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gLnBvcHVwLWdhbWVfX2NvbnRhaW5lciB7XG4vLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAgbGVmdDogMDtcbi8vICAgICB0b3A6IDA7XG4vLyAgICAgcGFkZGluZzogMCA4cHg7XG4vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vXG4vLyB9XG4vL1xuLy8gLnBvcHVwLWdhbWVfX2NvbnRlbnQge1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICBtYXJnaW46IDAgYXV0bztcbi8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuLy8gICAgIHotaW5kZXg6IDEwNDU7XG4vLyAgICAgd2lkdGg6IDEwMCU7XG4vL1xuLy8gfVxuXG4jbW9kYWwtZ2FtZSB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuLnBvcHVwLWdhbWVfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzBweDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA1MDI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiA3cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG59XG5cblxuLmdhbWUge1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuYmxvYy1hbGlnbiB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICM4NmEyMGI7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2M4MjNmO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG5cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBoMyB7XG4gICBmb250LXNpemU6IDE3cHg7XG4gICBsaW5lLWhlaWdodDogMjJweDtcblxuICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgfVxufVxuIiwiLy8gQEF1dGhvcjogMzYgUGl4ZWxzIDxncmVnb2lyZXB1Z2V0PlxuLy8gQERhdGU6ICAgMDcvMDkvMjAxNywgNjoyNzoxM1xuLy8gQEVtYWlsOiAgZ3JlZ29pcmVAMzZwaXhlbHMuZnJcbi8vIEBQcm9qZWN0OiBGaXJzdCBQaXhlbFxuLy8gQEZpbGVuYW1lOiBfcHJvZHVjdC5zY3NzXG4vLyBATGFzdCBtb2RpZmllZCBieTogICBpbWFjXG4vLyBATGFzdCBtb2RpZmllZCB0aW1lOiAwNC8xMi8yMDE3LCAzOjQzOjAyXG4vLyBAQ29weXJpZ2h0OiAoYykgMjAxNyBieSAzNiBQaXhlbHMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cblxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdHtcbiAgICBtYXJnaW4gOjAgMCAwLjZyZW0gMHJlbTtcbn1cblxuLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hZGQtdG8tY2FydHtcbiAgICBtYXJnaW4tdG9wIDpweC10by1yZW0oMTUpXG59XG5cbi5zaW5nbGUtcHJvZHVjdCAudmFyaWF0aW9ucyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiBweC10by1yZW0oMTkpXG59XG4ud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LmFtb3VudDpudGgtY2hpbGQoMSl7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xufVxuXG4vLyBSZW1vdmUgdGV4dCBiZWZvcmUgcHJpY2Vcbi5wcmljZV9mcm9tIHtcbiAgICAuYW1vdW50LXRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNpbmdsZV92YXJpYXRpb25fd3JhcCAud29vY29tbWVyY2UtdmFyaWF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnNpbmdsZV92YXJpYXRpb25fd3JhcCB7XG4gICAgLnNpbmdsZV92YXJpYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICAgICAgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1wcmljZSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgICAgICAud29vY29tbWVyY2UtdmFyaWF0aW9uLWF2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tZGVzY3JpcHRpb24sXG4gICAgICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tcHJpY2UsXG4gICAgICAgIC53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5zaW5nbGVfdmFyaWF0aW9uX3dyYXAgLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1kZXNjcmlwdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICM5Nzk3OTc7XG59XG5cblxuXG4iLCIvLyBAQXV0aG9yOiAzNiBQaXhlbHMgPGdyZWdvaXJlcHVnZXQ+XG4vLyBARGF0ZTogICAyMS8wNy8yMDE3LCA2OjE4OjQ4XG4vLyBARW1haWw6ICBncmVnb2lyZUAzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF9jYXJ0LnNjc3Ncbi8vIEBMYXN0IG1vZGlmaWVkIGJ5OiAgIGltYWNcbi8vIEBMYXN0IG1vZGlmaWVkIHRpbWU6IDA1LzA0LzIwMTgsIDEyOjAzOjE0XG4vLyBAQ29weXJpZ2h0OiAoYykgMjAxNyBieSAzNiBQaXhlbHMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cblxuXG4ucG9zdC01MCwgLndvb2NvbW1lcmNlLWNhcnQsIC5wb3N0LTE1NTQge1xuICBoMiB7XG4gICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgzMCk7XG4gICAgIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSgzMCk7XG4gICAgZm9udC1zaXplOiBweC10by1yZW0oMjcpO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICB9XG4gIC5wcm9kdWN0LXByaWNlLCAucHJvZHVjdC1zdWJ0b3RhbCB7XG4gICAgZm9udC1zaXplOiBweC10by1yZW0oMTYpO1xuICB9XG4gIC5hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiBweC10by1yZW0oMTgpIHB4LXRvLXJlbSgxMikgIWltcG9ydGFudDtcbiAgfVxuICAuY291cG9uIC5pbnB1dC10ZXh0IHtcbiAgICAvL3dpZHRoOiBweC10by1yZW0oMTAwKSAhaW1wb3J0YW50O1xuICB9XG4gIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGF7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE0KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi53b29jb21tZXJjZS1jYXJ0IHtcbiAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIGxhcmdlIGRvd24gKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgICAgICB9O1xuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnF1YW50aXR5LW5hdiB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53b29jb21tZXJjZS1jYXJ0IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuY291cG9uIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDEyNXB4IWltcG9ydGFudDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgZG93biApIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gIH07XG59XG4ud29vY29tbWVyY2UtY2FydCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmNvdXBvbiBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICBmbG9hdDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGJvdGghaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9O1xuXG59XG5cbi53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuY3Jvc3Mtc2VsbHMsIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscywgLmNyb3NzLXNlbGxzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53b29jb21tZXJjZS1jYXJ0IC5jYXJ0LWNvbGxhdGVyYWxzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi8vIC53b29jb21tZXJjZSAuY2FydC1jb2xsYXRlcmFscyAuY3Jvc3Mtc2VsbHMgdWwucHJvZHVjdHMsIC53b29jb21tZXJjZS1wYWdlIC5jYXJ0LWNvbGxhdGVyYWxzIC5jcm9zcy1zZWxscyB1bC5wcm9kdWN0cyB7XG4vLyAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgIGZsZXgtd3JhcDogd3JhcDtcbi8vICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8gfSIsIi8vIEBBdXRob3I6IDM2IFBpeGVscyA8Z3JlZ29pcmVwdWdldD5cbi8vIEBEYXRlOiAgIDI3LzA3LzIwMTcsIDEwOjU3OjAyXG4vLyBARW1haWw6ICBncmVnb2lyZUAzNnBpeGVscy5mclxuLy8gQFByb2plY3Q6IEZpcnN0IFBpeGVsXG4vLyBARmlsZW5hbWU6IF9jaGVja291dC5zY3NzXG4vLyBATGFzdCBtb2RpZmllZCBieTogICBpbWFjXG4vLyBATGFzdCBtb2RpZmllZCB0aW1lOiAyMDE4LTA2LTAxVDE3OjQ1OjI3KzAyOjAwXG4vLyBAQ29weXJpZ2h0OiAoYykgMjAxNyBieSAzNiBQaXhlbHMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5cblxuXG4ucG9zdC01MSwgLnBvc3QtMTU1NiB7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDI3KTtcbiAgICBtYXJnaW4tdG9wOiBweC10by1yZW0oMzApO1xuICAgIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSgzNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyNCk7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuY29udGVudCB1bDpub3QoLmdmb3JtX2ZpZWxkcykgbGk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucGxhY2Utb3JkZXIgLmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE0KSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLndvb2NvbW1lcmNlLW9yZGVyIHtcbiAgICAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItcmVjZWl2ZWQge1xuICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMzApO1xuICAgICAgbWFyZ2luOiBweC10by1yZW0oMjApIDAgcHgtdG8tcmVtKDQwKSAwO1xuICAgIH1cbiAgfVxuXG4gIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgLnNlbGVjdDItY29udGFpbmVyLFxuICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cud29vY29tbWVyY2UtdmFsaWRhdGVkIGlucHV0LmlucHV0LXRleHQsXG4gIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdy53b29jb21tZXJjZS12YWxpZGF0ZWQgc2VsZWN0IHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG92ZXJmbG93LXg6aGlkZGVuO1xuICAgIGJvcmRlcjoxcHggc29saWQgI2NhY2FjYTtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuMXJlbSAwLjJyZW0gMHJlbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC5zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgYm9yZGVyOjA7XG4gICAgICBjb2xvcjojMDAwMDAwO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIHRvcDogNXB4O1xuICAgIHJpZ2h0OiA1cHg7XG4gIH1cblxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gIH1cblxuICAuY29udGVudCB1bDpub3QoLmdmb3JtX2ZpZWxkcykgbGk6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRncmVlbjtcbiAgfVxuICAud29vY29tbWVyY2UtaW5mbzo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGdyZWVuO1xuICB9XG5cbiAgLmZvcm11bGFpcmUtbmV3c2xldHRlcl93cmFwcGVyIHtcbiAgICBtYXJnaW46IDI1cHggMCA1MHB4IDA7XG4gICAgJi5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZvcm0uZm9ybXVsYWlyZS1uZXdzbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLmdmb3JtX2hlYWRpbmcgaDMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxleDogMTAwJTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICBmb250LXNpemU6IDMwcHghaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xuICAgICAgICBmb250LXNpemU6IDIxcHghaW1wb3J0YW50O1xuICAgICAgfTtcbiAgICB9XG4gICAgLmdmb3JtX2JvZHkge1xuICAgICAgd2lkdGg6IDM1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH07XG4gICAgICBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5uZXdzbGV0dGVyLWVtYWlsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJi5nZmllbGRfZXJyb3IgbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZ2Zvcm1fYm9keSB1bCBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJi5nZmllbGRfZXJyb3Ige1xuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl17XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMi4yMzc1cmVtO1xuICAgICAgfVxuICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgJi5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH07XG4gICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMXJlbSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxufVxuLnBvc3QtNTEgLndvb2NvbW1lcmNlLWFjY291bnQtZmllbGRzIHAgbGFiZWwgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbn1cbi5wYXltZW50X21ldGhvZF9wYXlwYWx7XG4gIGxhYmVse1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuLndjX3BheW1lbnRfbWV0aG9ke1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVye1xuICAgIGhlaWdodDogMCFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5zaG9wLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5ibG9jLXNpZGViYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyLXByb2R1Y3RzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tZGFyaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRncmVlbjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB6b29tOiAxOCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBib3R0b206IC0zNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGVmdDogLTU1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgwLjE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2NoZWNrX25hLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NoZWNrX25hLnN2ZycpO1xuICAgICAgICAgICAgICAgIC8vICAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2Mtc2lkZWJhci1yZXNwb25zaXZlIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggbGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyLXByb2R1Y3RzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1tb3JlLXByb2R1Y3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnhvby13c2MtaGVhZGVyIHtcbiAgICAubWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMzBweCAwIDMwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICAgICAgICAgIGNvbG9yOiAjMmE0MjM1O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbDpiZWZvcmUsXG4vLyBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsOmJlZm9yZXtcbi8vICAgaGVpZ2h0OjEycHg7XG4vLyAgIHdpZHRoOjEycHg7XG4vLyAgIG1hcmdpbi1yaWdodDogMnB4O1xuLy8gICBjb250ZW50OiBcIiBcIjtcbi8vICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4vLyAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbi8vICAgYm9yZGVyOjFweCBzb2xpZCAjNzc3O1xuLy8gfVxuLy8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbi8vIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmV7XG4vLyAgIGJhY2tncm91bmQ6Z29sZDtcbi8vIH1cblxuLy8gLyogQ1VTVE9NIFJBRElPIEFORCBDSEVDS0JPWCBTVFlMRVMgKi9cbi8vIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWw6YmVmb3Jle1xuLy8gICBib3JkZXItcmFkaXVzOjUwJTtcbi8vIH1cbi8vIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6YmVmb3Jle1xuLy8gICBib3JkZXItcmFkaXVzOjJweDtcbi8vIH1cbiIsIi5ibG9nLWhlYWRlciB7XG4gICZfX2Rlc2NyaXB0aW9uIHAge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSggMThweCApO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJl9fY2F0ZWdvcmllcyB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCBtZWRpdW0gZG93biApIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfTtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoIDIzcHggKTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIuYmxvZy1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgJl9fY2F0ZWdvcnktZGVzY3JpcHRpb24gcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCAxOHB4ICk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAmX193cmFwOm5vdCguZmlyc3QtYXJ0aWNsZSkge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgfVxuICAmX19pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBoMiB7IFxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAyNXB4ICk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtbWVkaXVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCAxMDIzcHggZG93biApIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfTtcbiAgICB9XG4gICAgJi0tY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoIDE2cHggKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggMTAyM3B4IGRvd24gKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH07XG4gICAgfVxuICAgICYtLWJ1dHRvbiBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSggMTRweCApO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXJlZ3VsYXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoIG1lZGl1bSBkb3duICkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9O1xuICAgIH1cbiAgICAmLS1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggMTAyM3B4IGRvd24gKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIC53cC1wYWdlbmF2aSB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIuc2luZ2xlLWFydGljbGUge1xuICBoMSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCA2MHB4ICk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbWVkaXVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuICBoMiB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCAyOHB4ICk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDIwcHggMCA0MHB4IDA7XG4gIH1cbiAgaDMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSggMjNweCApO1xuICB9XG4gIGg0IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoIDIwcHggKTtcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCAzMHB4IDEwcHggMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCAxMDIzcHggZG93biApIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDAgMzBweCAwO1xuICAgIH07XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHVsIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoIDE2cHggKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICBpbWd7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLm5hdmlnYXRpb24tcG9zdCB7XG4gICAgICBtYXJnaW46IDQwcHggMCAyMHB4IDA7XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9uLXBvc3QgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH07XG4gICAgfVxuICAgICYtLW5leHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCBzbWFsbCBvbmx5ICkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH07XG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgLmFydGljbGUtYXJyb3cge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFydGljbGUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICAgIC5hcnRpY2xlLWFycm93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC40cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1wcmV2IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCggc21hbGwgb25seSApIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9O1xuICAgICAgYTpob3ZlciB7XG4gICAgICAgIC5hcnRpY2xlLWFycm93e1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hcnRpY2xlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgICAgLmFydGljbGUtYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjRzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCAyMHB4ICk7XG4gICAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgfVxuXG4gIH1cbn1cbiIsIi5mYXEge1xuICBiYWNrZ3JvdW5kOiAjZmFmQmVjO1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgfVxuXG4gIC5mYXEtdGl0bGUgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogMTVweCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fbGVmdCB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGdyZWVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuICAgICAgcGFkZGluZzogMCA0MHB4IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmc6MCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggJGdyZWVuO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRncmVlbjtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19zaW5nbGVGYXEge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgbGluZWFyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWVzdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjVweCAxMHB4IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgY29sb3I6ICRncmVlbi1kYXJrO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JlZW4tZGFyaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2hldnJvbi5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBsaW5lYXI7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbnN3ZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGxpbmVhcjtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICM2Zjk5MzA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgICAgLmFuc3dlcntcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5xdWVzdGlvbjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZmFxQ29udGFjdFNlY3Rpb24ge1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNDBweCAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbWFyZ2luOiAwIDAgMzJweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgfVxufVxuIl19 */
