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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

pre {
  overflow: auto; }

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

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

.row {
  max-width: 80rem;
  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.9375rem;
    margin-left: -0.9375rem; }
    @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.9375rem;
    padding-left: 0.9375rem; }
  .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.9375rem;
  padding-left: 0.9375rem; }
  @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.9375rem;
  padding-left: 0.9375rem; }

.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.875rem; }
  .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: bold;
  line-height: inherit; }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 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: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    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: #1779ba;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #ffffff; }
  .button.secondary {
    background-color: #767676;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #ffffff; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #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: #1779ba;
        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: #767676;
        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: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #ffffff; }
  .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: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .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; }

[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(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    vertical-align: middle; }
    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
      vertical-align: middle; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu > li, .menu.horizontal > li {
    display: table-cell; }
  .menu.expanded {
    display: table;
    width: 100%;
    table-layout: fixed; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.vertical > li {
    display: block; }
  @media print, screen and (min-width: 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: #1779ba;
    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; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 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: 89.9375em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.header {
  background-color: #eaeaea; }
  .header .header-intro {
    padding-top: 2.8125rem;
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .header .header-intro {
        text-align: left;
        padding-top: 8.4375rem; } }
    .header .header-intro .logo {
      margin-bottom: 0.625rem; }
      .header .header-intro .logo a img {
        height: 2.95rem;
        width: 14.75rem; }
    .header .header-intro h1 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 2.125rem;
      color: #298dff;
      font-weight: 600;
      line-height: 2.4375rem;
      margin-bottom: 0.9375rem; }
      @media print, screen and (min-width: 64em) {
        .header .header-intro h1 {
          line-height: 3.4375rem;
          font-size: 3.4375rem;
          color: #1b4886;
          margin-bottom: 1.25rem; } }
    .header .header-intro h3 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      color: #696969;
      font-weight: 600;
      line-height: 1.425rem;
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .header .header-intro h3 {
          font-size: 1.5rem;
          line-height: 1.8rem; } }
    .header .header-intro .header-cta {
      background: #298dff;
      color: #fff;
      width: 14.6875rem;
      display: inline-block;
      height: 3.125rem;
      font-family: 'Source Sans Pro', sans-serif;
      line-height: 3.125rem;
      border-radius: 3.125rem;
      text-align: center;
      font-size: 1.1875rem;
      font-weight: 600;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .header .header-intro .header-cta:hover {
        background: #153C6A; }
      @media print, screen and (min-width: 64em) {
        .header .header-intro .header-cta {
          width: 24.45625rem; } }
  .header .phone-bg {
    height: auto;
    position: static;
    margin-bottom: 3.75rem;
    margin-top: 2.8125rem;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
    .header .phone-bg img {
      position: static;
      bottom: 0;
      right: 0; }
      @media print, screen and (min-width: 40em) {
        .header .phone-bg img {
          position: absolute; } }
    @media print, screen and (min-width: 40em) {
      .header .phone-bg {
        position: relative;
        margin: 0;
        height: 25.75rem; } }
    @media print, screen and (min-width: 64em) {
      .header .phone-bg {
        height: 42rem; } }

.footer {
  background: #3c3c3c; }
  @media screen and (max-width: 39.9375em) {
    .footer .columns {
      padding-left: 0;
      padding-right: 0; } }
  .footer .footer-navs {
    padding-top: 3.125rem;
    padding-bottom: 2.5rem; }
    @media print, screen and (min-width: 64em) {
      .footer .footer-navs {
        padding-top: 6.25rem;
        padding-bottom: 5rem; } }
    .footer .footer-navs .footer-menu > ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .footer .footer-navs .footer-menu > ul > li {
        margin: 0;
        padding: 0; }
        .footer .footer-navs .footer-menu > ul > li > a {
          line-height: 1.1875rem;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1rem;
          font-weight: 600;
          color: #fff; }
          .footer .footer-navs .footer-menu > ul > li > a:hover {
            color: #ddd; }
    .footer .footer-navs .footer-menu .sub-menu {
      list-style: none;
      margin: 0 0 0.625rem 0;
      padding: 0; }
      .footer .footer-navs .footer-menu .sub-menu > li {
        margin: 0;
        padding: 0;
        margin-bottom: 0.3125rem;
        line-height: 1.125rem; }
        .footer .footer-navs .footer-menu .sub-menu > li > a {
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1rem;
          font-weight: 300;
          color: #fff;
          margin: 0;
          padding: 0; }
          .footer .footer-navs .footer-menu .sub-menu > li > a:hover {
            color: #ddd; }
    .footer .footer-navs .footer-mobile-menu {
      position: relative;
      top: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-navs .footer-mobile-menu {
          top: 0; } }
      .footer .footer-navs .footer-mobile-menu ul {
        list-style: none;
        margin: 0;
        padding: 0; }
        .footer .footer-navs .footer-mobile-menu ul li {
          display: inline-block;
          width: 49%; }
          .footer .footer-navs .footer-mobile-menu ul li a {
            line-height: 1.5625rem;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            color: #fff; }
            .footer .footer-navs .footer-mobile-menu ul li a:hover {
              color: #eee; }
      .footer .footer-navs .footer-mobile-menu .social-icons {
        position: absolute;
        left: 49%;
        bottom: 0; }
    .footer .footer-navs .contact-info {
      line-height: 1.1875rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1rem;
      font-weight: 300;
      color: #fff;
      margin-bottom: 0; }
    .footer .footer-navs .social-twitter {
      display: inline-block;
      margin-right: 0.375rem; }
      .footer .footer-navs .social-twitter img {
        width: 1.09375rem;
        height: 0.8875rem; }
      .footer .footer-navs .social-twitter:hover {
        opacity: 0.6; }
    .footer .footer-navs .subscription-form h3 {
      line-height: 1.1875rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      color: #fff;
      margin-bottom: 0.25rem; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-navs .subscription-form h3 {
          margin-bottom: 0.25rem; } }
    .footer .footer-navs .subscription-form .gform_button:hover {
      background: #e5e5e5; }
  .footer .footer-rights {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 0.875rem;
    font-weight: 300;
    margin-top: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-rights {
        margin-top: 0; } }
    .footer .footer-rights .copyrights {
      line-height: 1.0625rem;
      margin-bottom: 0; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-rights .copyrights {
          line-height: 1.4375rem; } }
    .footer .footer-rights .created-by {
      text-align: left;
      font-weight: 600; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-rights .created-by {
          text-align: right;
          font-weight: 300; } }
      .footer .footer-rights .created-by a {
        color: #fff;
        text-decoration: underline; }
        .footer .footer-rights .created-by a:hover {
          color: #ddd; }

.single-case-study .menu-wrapper #top-nav ul .resources-menu-item > a {
  position: relative;
  color: #298dff; }
  .single-case-study .menu-wrapper #top-nav ul .resources-menu-item > a:before {
    display: block;
    position: absolute;
    bottom: 1.0625rem;
    left: 0;
    right: 0;
    height: 1px;
    border-bottom: 1px solid #298dff;
    content: ''; }
  .single-case-study .menu-wrapper #top-nav ul .resources-menu-item > a:hover:before {
    display: none; }

.single-post .menu-wrapper #top-nav ul .blog-menu-item > a {
  position: relative;
  color: #298dff; }
  .single-post .menu-wrapper #top-nav ul .blog-menu-item > a:before {
    display: block;
    position: absolute;
    bottom: 1.0625rem;
    left: 0;
    right: 0;
    height: 1px;
    border-bottom: 1px solid #298dff;
    content: ''; }
  .single-post .menu-wrapper #top-nav ul .blog-menu-item > a:hover:before {
    display: none; }

.single-news .menu-wrapper #top-nav ul .about-menu-item > a {
  position: relative;
  color: #298dff; }
  .single-news .menu-wrapper #top-nav ul .about-menu-item > a:before {
    display: block;
    position: absolute;
    bottom: 1.0625rem;
    left: 0;
    right: 0;
    height: 1px;
    border-bottom: 1px solid #298dff;
    content: ''; }
  .single-news .menu-wrapper #top-nav ul .about-menu-item > a:hover:before {
    display: none; }

.menu-wrapper {
  height: 3.75rem;
  position: relative;
  background: #fff;
  z-index: 9999;
  /* Dropdown */ }
  .menu-wrapper.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
  .menu-wrapper .left-menu {
    float: left; }
    /* width: 70%; } */
  .menu-wrapper .left-menu-home {
    float: left;
    width: 68%; }
  .menu-wrapper .right-menu {
    float: right;
    /* width: 30%; */
    text-align: right; }
  .menu-wrapper .right-menu-home {
    float: right;
    width: 32%;
    text-align: right; }
  .menu-wrapper .menu-logo {
    float: left;
    margin-top: 0.9375rem;
    margin-right: 0.9375rem; }
    .menu-wrapper .menu-logo a img {
      width: 9.50625rem;
      height: 1.9rem; }
    .menu-wrapper .menu-logo a:hover {
      opacity: 0.7; }
  .menu-wrapper #top-nav > ul {
    margin: 0;
    padding: 0;
    display: inline-block;
    list-style: none; }
  .menu-wrapper #top-nav > ul > li {
    display: inline-block;
    line-height: 3.75rem;
    padding-right: 0.9375rem; }
    .menu-wrapper #top-nav > ul > li.current_page_item > a {
      color: #298dff; }
  .menu-wrapper #top-nav > ul > li.thick > a {
    color: #1b4886;
    font-weight: 700; }
  .menu-wrapper #top-nav > ul.thin {
    margin-left: 0; }
  .menu-wrapper #top-nav > ul.thin > li > a {
    font-weight: 400; }
  .menu-wrapper #top-nav > ul > li > a {
    display: block;
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1rem;
    font-weight: 600; }
  .menu-wrapper #top-nav > ul li:hover a,
  .menu-wrapper #top-nav > ul li.current-menu-parent a {
    color: #298dff; }
  .menu-wrapper #top-nav > ul li:hover .dropdown a,
  .menu-wrapper #top-nav > ul li.current-menu-parent .dropdown a {
    color: #fff; }
  .menu-wrapper #top-nav > ul li:hover .dropdown a:hover,
  .menu-wrapper #top-nav > ul li.current-menu-parent .dropdown a:hover {
    color: #ebebeb; }
  .menu-wrapper #top-nav > ul > li.current-menu-parent > a,
  .menu-wrapper #top-nav > ul > li.current-menu-item > a {
    position: relative;
    color: #298dff; }
    .menu-wrapper #top-nav > ul > li.current-menu-parent > a:before,
    .menu-wrapper #top-nav > ul > li.current-menu-item > a:before {
      display: block;
      position: absolute;
      bottom: 1.0625rem;
      left: 0;
      right: 0;
      height: 1px;
      border-bottom: 1px solid #298dff;
      content: ''; }
    .menu-wrapper #top-nav > ul > li.current-menu-parent > a:hover:before,
    .menu-wrapper #top-nav > ul > li.current-menu-item > a:hover:before {
      display: none; }
  .menu-wrapper #top-nav > ul > li.current-menu-parent:hover > a:before,
  .menu-wrapper #top-nav > ul > li.current-menu-item:hover > a:before {
    display: none; }
  .menu-wrapper li.menu-item-has-children.opened > a:after {
    opacity: 1; }
  .menu-wrapper li.menu-item-has-children:hover ul.dropdown {
    opacity: 1;
    display: block; }
  .menu-wrapper li.menu-item-has-children:hover > a:after {
    opacity: 1; }
  .menu-wrapper li.menu-item-has-children > a {
    position: relative; }
    .menu-wrapper li.menu-item-has-children > a:after {
      bottom: -0.0625rem;
      left: 50%;
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      opacity: 0; }
    .menu-wrapper li.menu-item-has-children > a:after {
      border-color: rgba(41, 141, 255, 0);
      border-bottom-color: #298dff;
      border-width: 0.9375rem;
      margin-left: -0.9375rem; }
  .menu-wrapper li.menu-item-has-children ul.dropdown {
    opacity: 0;
    display: none;
    position: absolute;
    background: #298dff;
    top: 3.75rem;
    padding: 1.875rem;
    z-index: 999;
    margin: 0;
    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    left: 50%;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    width: 15.625rem;
    list-style: none; }
    .menu-wrapper li.menu-item-has-children ul.dropdown li a {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      display: block;
      line-height: 1;
      margin-bottom: 0.5rem; }
    .menu-wrapper li.menu-item-has-children ul.dropdown li:last-child a {
      margin-bottom: 0; }
  .menu-wrapper #header-nav-1 {
    position: relative; }
    .menu-wrapper #header-nav-1 li.menu-item-has-children {
      position: relative; }
  .menu-wrapper .search-btn {
    display: inline-block;
    width: 1.175rem;
    height: 1.16875rem;
    margin-left: 0.625rem;
    position: relative; }
    .menu-wrapper .search-btn:after, .menu-wrapper .search-btn:before {
      visibility: hidden;
      bottom: -1.5rem;
      left: 50%;
      border: solid transparent;
      content: " ";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none; }
    .menu-wrapper .search-btn:after {
      border-color: rgba(41, 141, 255, 0);
      border-bottom-color: #298dff;
      border-width: 0.9375rem;
      margin-left: -0.9375rem; }
    .menu-wrapper .search-btn:before {
      border-color: rgba(41, 141, 255, 0);
      border-bottom-color: #298dff;
      border-width: 1.25rem;
      margin-left: -1.25rem; }
    .menu-wrapper .search-btn.opened:after, .menu-wrapper .search-btn.opened:before {
      visibility: visible; }
    .menu-wrapper .search-btn:hover img {
      opacity: 0.8; }
  .menu-wrapper .menu-cta {
    display: inline-block;
    width: 8.125rem;
    height: 1.875rem;
    background: #298dff;
    color: #fff;
    line-height: 1.875rem;
    border-radius: 3.125rem;
    text-align: center;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-left: 1.25rem; }
    .menu-wrapper .menu-cta:hover {
      background: #153C6A; }

.search-form {
  background: #298dff;
  position: absolute;
  top: 3.75rem;
  left: 0;
  right: 0;
  height: 5rem;
  display: none;
  z-index: 999;
  box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
  .search-form form {
    padding: 1.25rem 9.375rem 1.25rem 0; }
    .search-form form .search-input {
      width: 100%;
      display: inline;
      float: left;
      border: none; }
      .search-form form .search-input:focus {
        border: none;
        box-shadow: none; }
    .search-form form .search-submit {
      background: #1b4987;
      width: 9.375rem;
      position: absolute;
      text-align: center;
      display: inline;
      height: 2.5rem;
      line-height: 2.5rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 600;
      color: #fff; }
      .search-form form .search-submit img {
        width: 1.25rem;
        height: 1.25rem;
        margin-left: 0.375rem; }
      .search-form form .search-submit:hover {
        opacity: 0.8;
        cursor: hand; }

.mobile-header {
  height: 4.6875rem;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9999;
  box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
  background: #fff;
  padding: 0 1.875rem; }
  .mobile-header .mobile-logo {
    line-height: 4.6875rem;
    display: inline; }
    .mobile-header .mobile-logo a img {
      width: 9.70625rem; }
  .mobile-header .ham-button {
    float: right; }
    .mobile-header .ham-button .hamburger {
      width: 1.875rem;
      height: 1.75rem;
      position: relative;
      margin-top: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .mobile-header .ham-button .hamburger {
          margin-top: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .mobile-header .ham-button .hamburger {
          margin-top: 1.5625rem; } }
      .mobile-header .ham-button .hamburger span {
        border-top: 0.125rem solid #298dff;
        display: block;
        opacity: 1;
        position: absolute;
        width: 100%;
        top: 0;
        transition: all .6s ease; }
        .mobile-header .ham-button .hamburger span:first-of-type {
          top: 12px; }
        .mobile-header .ham-button .hamburger span:last-of-type {
          top: 24px; }
        .mobile-header .ham-button .hamburger span:after {
          display: none; }
    @media print, screen and (min-width: 40em) {
      .expanded .mobile-header .ham-button .hamburger {
        margin-top: 1.25rem; } }
    .expanded .mobile-header .ham-button .hamburger span:first-of-type {
      -ms-transform: rotate(45deg);
      /* IE 9 */
      -webkit-transform: rotate(45deg);
      /* Chrome, Safari, Opera */
      transform: rotate(45deg);
      top: 1.25rem; }
    .expanded .mobile-header .ham-button .hamburger span:last-of-type {
      -ms-transform: rotate(-45deg);
      /* IE 9 */
      -webkit-transform: rotate(-45deg);
      /* Chrome, Safari, Opera */
      transform: rotate(-45deg);
      top: 1.25rem; }

.mobile-nav {
  position: fixed;
  z-index: 9999;
  top: 4.6875rem;
  right: 0;
  background: #fff;
  overflow-x: hidden;
  width: 100%;
  margin-right: -100%; }
  .expanded .mobile-nav {
    margin-right: 0;
    position: absolute; }
  .mobile-nav .mobile-search {
    background: #298dff;
    padding: 1.5625rem 1.875rem; }
    .mobile-nav .mobile-search form {
      padding: 0 3.75rem 0 0;
      margin: 0;
      overflow: hidden; }
      .mobile-nav .mobile-search form .search-input {
        width: 100%;
        display: inline;
        float: left;
        border: none;
        height: 3.125rem;
        margin: 0; }
        .mobile-nav .mobile-search form .search-input:focus {
          border: none;
          box-shadow: none; }
      .mobile-nav .mobile-search form .search-submit {
        background: #1b4987;
        width: 3.75rem;
        position: absolute;
        text-align: center;
        display: inline;
        height: 3.125rem;
        line-height: 3.125rem; }
        .mobile-nav .mobile-search form .search-submit img {
          width: 1.25rem;
          height: 1.25rem; }
  .mobile-nav .mobile-menu > ul > li {
    background: #1b4886; }
    .mobile-nav .mobile-menu > ul > li > a {
      display: block;
      margin-left: 1.875rem;
      margin-right: 1.875rem;
      padding: 0.9375rem 0;
      line-height: 1.625rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      color: #fff;
      border-bottom: 0.125rem solid #153c6a; }
    .mobile-nav .mobile-menu > ul > li[aria-expanded="true"] {
      background: #fff; }
      .mobile-nav .mobile-menu > ul > li[aria-expanded="true"] > a {
        color: #1b4886;
        border-bottom: 0.125rem solid #f5f5f5; }
    .mobile-nav .mobile-menu > ul > li.menu-item-has-children > a {
      position: relative; }
      .mobile-nav .mobile-menu > ul > li.menu-item-has-children > a .arrow {
        background-image: url("../../images/zync/arrow-up-w.svg");
        background-size: 1.25rem 0.75rem;
        background-repeat: no-repeat;
        background-position: center center;
        border: none;
        width: 2.5rem;
        height: 2.5rem;
        position: absolute;
        right: -0.625rem;
        top: 0.6875rem; }
      .mobile-nav .mobile-menu > ul > li.menu-item-has-children > a:after {
        content: '';
        display: none; }
    .mobile-nav .mobile-menu > ul > li.menu-item-has-children[aria-expanded="true"] > a .arrow {
      background-image: url("../../images/zync/arrow-down-b.svg");
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .mobile-nav .mobile-menu > ul > li.menu-item-has-children[aria-expanded="true"] > a:after {
      content: '';
      display: none; }
    .mobile-nav .mobile-menu > ul > li .is-accordion-submenu {
      background: #fff;
      margin: 0;
      padding: 0; }
      .mobile-nav .mobile-menu > ul > li .is-accordion-submenu li a {
        margin-left: 1.875rem;
        margin-right: 1.875rem;
        line-height: 1.625rem;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.5rem;
        font-weight: 400;
        color: #696969;
        padding: 0.9375rem 0;
        border-bottom: 0.125rem solid #f5f5f5; }
  .mobile-nav .cta-button {
    background: #fff;
    padding: 1.5625rem 1.875rem; }
    .mobile-nav .cta-button a {
      background: #298dff;
      color: #fff;
      display: block;
      height: 3.125rem;
      font-family: 'Source Sans Pro', sans-serif;
      line-height: 3.125rem;
      border-radius: 3.125rem;
      text-align: center;
      font-size: 1.5rem;
      font-weight: 700;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .mobile-nav .cta-button a:hover {
        background: #153C6A; }

body:not(.home) {
  background: #fff;
  font-family: 'Source Sans Pro', sans-serif;
  padding-top: 4.6875rem; }
  @media print, screen and (min-width: 64em) {
    body:not(.home) {
      padding-top: 3.75rem; } }

body.home {
  padding-top: 4.6875rem; }
  @media print, screen and (min-width: 64em) {
    body.home {
      padding-top: 0; } }

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-family: 'Source Sans Pro', sans-serif; }

.row {
  margin-right: 1.875rem;
  margin-left: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .row {
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-right: auto;
      margin-left: auto; } }
  @media screen and (max-width: 39.9375em) {
    .row .columns {
      padding-left: 0;
      padding-right: 0; } }

.columns:last-child:not(:first-child) {
  float: left; }

.main-page {
  background: #fff; }

.breadcrumbs {
  margin-bottom: 0.625rem; }
  .breadcrumbs li {
    line-height: 1.1875rem;
    font-size: 0.875rem;
    font-weight: 400;
    text-transform: none; }
    .breadcrumbs li a {
      color: #696969; }
    .breadcrumbs li:not(:last-child):after {
      content: '>';
      margin-left: 0.3125rem;
      margin-right: 0.3125rem; }

.pagination {
  margin-top: 1.875rem; }
  .pagination .page-numbers {
    display: inline-block; }

.nowrap {
  white-space: nowrap; }

.clear {
  clear: both; }

.m-b-20 {
  margin-bottom: 1.25rem; }

#posts-container.loading:before {
  display: block;
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  opacity: 0.7;
  z-index: 10; }

#posts-container.loading:after {
  display: block;
  content: '';
  position: fixed;
  top: 50%;
  left: 50%;
  background: url("../img/spinner.svg");
  position: 50% 50%;
  width: 12.5rem;
  height: 12.5rem;
  background-size: 12.5rem 12.5rem;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 11; }

.solutions-in-action .main-title {
  background: #153c6a;
  min-height: 5.625rem;
  text-align: center;
  position: relative; }
  .solutions-in-action .main-title:after, .solutions-in-action .main-title:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .solutions-in-action .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #153c6a;
    border-width: 0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .solutions-in-action .main-title:after {
        border-width: 1.875rem;
        margin-left: -1.875rem; } }
  .solutions-in-action .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #153c6a;
    border-width: 1.125rem;
    margin-left: -1.125rem; }
    @media print, screen and (min-width: 64em) {
      .solutions-in-action .main-title:before {
        border-width: 2.25rem;
        margin-left: -2.25rem; } }
  .solutions-in-action .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    padding: 1.25rem 0 0.625rem 0; }
    @media print, screen and (min-width: 40em) {
      .solutions-in-action .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.solutions-in-action .video-blocks {
  background: #1b4886;
  padding-top: 1.5625rem;
  padding-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .solutions-in-action .video-blocks {
      padding-top: 1.875rem;
      padding-bottom: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .solutions-in-action .video-blocks {
      padding-top: 3.75rem; } }
  .solutions-in-action .video-blocks .video-details {
    margin-bottom: 1.875rem; }
    .solutions-in-action .video-blocks .video-details h3 {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.875rem;
      font-weight: 600;
      text-transform: uppercase;
      line-height: 2.1875rem;
      margin-top: 0.3125rem;
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .solutions-in-action .video-blocks .video-details h3 {
          margin-top: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .solutions-in-action .video-blocks .video-details h3 {
          margin-top: 0.3125rem; } }
    .solutions-in-action .video-blocks .video-details p {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem; }
    .solutions-in-action .video-blocks .video-details a.video-block-cta {
      margin-top: 1.5625rem;
      background: #298dff;
      color: #fff;
      display: block;
      height: 3.125rem;
      font-family: 'Source Sans Pro', sans-serif;
      line-height: 3.125rem;
      border-radius: 3.125rem;
      text-align: center;
      font-size: 1.1875rem;
      font-weight: 600;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .solutions-in-action .video-blocks .video-details a.video-block-cta:hover {
        background: #153C6A; }
    @media print, screen and (min-width: 64em) {
      .solutions-in-action .video-blocks .video-details {
        margin-bottom: 0; } }
  .solutions-in-action .video-blocks .responsive-embed {
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .solutions-in-action .video-blocks .responsive-embed {
        margin-bottom: 0; } }
  .solutions-in-action .video-blocks .bordered-top {
    border-top: 0.125rem solid #153c6a;
    margin: 3.75rem 0.9375rem 0 0.9375rem;
    padding-top: 1.25rem;
    display: none; }
    @media print, screen and (min-width: 40em) {
      .solutions-in-action .video-blocks .bordered-top {
        display: block; } }
  .solutions-in-action .video-blocks .bordered-bottom {
    border-bottom: 0.125rem solid #153c6a;
    margin: 0 0.9375rem 3.75rem 0.9375rem;
    padding-bottom: 0.9375rem;
    display: none; }
    @media print, screen and (min-width: 40em) {
      .solutions-in-action .video-blocks .bordered-bottom {
        display: block; } }
  .solutions-in-action .video-blocks .quote {
    text-align: left; }
    .solutions-in-action .video-blocks .quote h2 {
      font-family: 'Source Sans Pro', sans-serif;
      line-height: 3.125rem;
      color: #fff;
      font-size: 2.8125rem;
      font-weight: 300;
      margin: 0; }
      .solutions-in-action .video-blocks .quote h2 strong {
        font-weight: 600; }
      .solutions-in-action .video-blocks .quote h2 span {
        font-size: 1rem;
        font-weight: 600;
        font-style: italic; }

.leaders-trust .main-title {
  background: #0d7eff;
  min-height: 5.625rem;
  text-align: center;
  position: relative; }
  .leaders-trust .main-title:after, .leaders-trust .main-title:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .leaders-trust .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .leaders-trust .main-title:after {
        border-width: 1.875rem;
        margin-left: -1.875rem; } }
  .leaders-trust .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.125rem;
    margin-left: -1.125rem; }
    @media print, screen and (min-width: 64em) {
      .leaders-trust .main-title:before {
        border-width: 2.25rem;
        margin-left: -2.25rem; } }
  .leaders-trust .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    padding: 1.25rem 0 0.625rem 0; }
    @media print, screen and (min-width: 64em) {
      .leaders-trust .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.leaders-trust .logos-quotes {
  background: #298dff;
  padding-top: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .leaders-trust .logos-quotes {
      padding-top: 3.75rem; } }
  .leaders-trust .logos-quotes .logos {
    margin-bottom: 0;
    padding-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .leaders-trust .logos-quotes .logos {
        margin-bottom: 1.875rem;
        padding-bottom: 0; } }
  .leaders-trust .logos-quotes .quotes .quote-border {
    border-top: 0.125rem solid #0d7eff; }
  .leaders-trust .logos-quotes .quotes .quote {
    padding-top: 1.5625rem;
    padding-bottom: 1.5625rem; }
    @media print, screen and (min-width: 40em) {
      .leaders-trust .logos-quotes .quotes .quote {
        padding-top: 1.5625rem;
        padding-bottom: 3.4375rem; } }
    .leaders-trust .logos-quotes .quotes .quote .quote-author {
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .leaders-trust .logos-quotes .quotes .quote .quote-author {
          margin-bottom: 0; } }
      .leaders-trust .logos-quotes .quotes .quote .quote-author h5 {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        line-height: 1.4375rem;
        color: #fff;
        margin: 0; }
      .leaders-trust .logos-quotes .quotes .quote .quote-author span {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        line-height: 1.4375rem;
        color: #fff;
        font-style: italic; }
    .leaders-trust .logos-quotes .quotes .quote .clear {
      clear: both; }
    .leaders-trust .logos-quotes .quotes .quote .quote-text {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #fff;
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .leaders-trust .logos-quotes .quotes .quote .quote-text {
          margin-top: 0;
          font-size: 1.5rem;
          line-height: 1.875rem; } }
      .leaders-trust .logos-quotes .quotes .quote .quote-text:before {
        content: '“ ';
        position: absolute;
        left: -0.875rem; }
      .leaders-trust .logos-quotes .quotes .quote .quote-text:after {
        content: '”'; }

.customized-solutions .main-title {
  background: #ebebeb;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .customized-solutions .main-title {
      min-height: 5.625rem; } }
  .customized-solutions .main-title:after, .customized-solutions .main-title:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .customized-solutions .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .customized-solutions .main-title:after {
        border-width: 1.875rem;
        margin-left: -1.875rem; } }
  .customized-solutions .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 1.125rem;
    margin-left: -1.125rem; }
    @media print, screen and (min-width: 64em) {
      .customized-solutions .main-title:before {
        border-width: 2.25rem;
        margin-left: -2.25rem; } }
  .customized-solutions .main-title h5 {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    padding: 1.25rem 0 1.25rem 0; }
    @media print, screen and (min-width: 64em) {
      .customized-solutions .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.customized-solutions .features {
  background: #f5f5f5;
  padding-bottom: 3.75rem;
  padding-top: 1.5625rem;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .customized-solutions .features {
      padding-top: 3.75rem; } }
  .customized-solutions .features > .row {
    padding-left: 0;
    padding-right: 0; }
    .customized-solutions .features > .row .row {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; }
  .customized-solutions .features h3 {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 2.5rem;
    font-weight: 300;
    line-height: 2.8125rem;
    margin-bottom: 1.25rem;
    margin-top: 1.5625rem; }
    @media print, screen and (min-width: 64em) {
      .customized-solutions .features h3 {
        line-height: 3.125rem;
        font-size: 2.8125rem; } }
  .customized-solutions .features .feature {
    background: #fff;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem;
    padding: 1.5625rem 1.5625rem;
    text-align: left;
    display: table;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .customized-solutions .features .feature {
        display: block;
        text-align: center;
        padding: 0 0 1.875rem 0; } }
    .customized-solutions .features .feature .feature-icon {
      padding: 0 0 0 0;
      display: table-cell;
      vertical-align: middle;
      width: 3.875rem; }
      @media print, screen and (min-width: 40em) {
        .customized-solutions .features .feature .feature-icon {
          padding: 1.875rem 0 0.9375rem 0;
          display: block;
          width: 100%; } }
      .customized-solutions .features .feature .feature-icon img {
        height: 2.75rem; }
        @media print, screen and (min-width: 40em) {
          .customized-solutions .features .feature .feature-icon img {
            height: 3.375rem; } }
    .customized-solutions .features .feature .feature-title {
      height: auto;
      display: table-cell;
      text-align: left;
      vertical-align: middle;
      margin-bottom: 0;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .customized-solutions .features .feature .feature-title {
          width: 100%;
          height: 3.4375rem;
          text-align: center;
          display: table;
          margin-bottom: 0.9375rem;
          padding-left: 0; } }
      .customized-solutions .features .feature .feature-title p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem;
        display: inline-block;
        vertical-align: middle;
        text-align: left;
        margin-bottom: 0; }
        @media print, screen and (min-width: 40em) {
          .customized-solutions .features .feature .feature-title p {
            display: table-cell;
            vertical-align: middle;
            text-align: center; } }
        .customized-solutions .features .feature .feature-title p a {
          color: #696969;
          text-decoration: underline; }
          @media print, screen and (min-width: 40em) {
            .customized-solutions .features .feature .feature-title p a {
              text-decoration: none; } }
          .customized-solutions .features .feature .feature-title p a:hover {
            color: #999; }
    .customized-solutions .features .feature .feature-cta {
      padding: 0;
      display: table-cell;
      text-align: right;
      vertical-align: middle; }
      @media print, screen and (min-width: 40em) {
        .customized-solutions .features .feature .feature-cta {
          float: none;
          display: block;
          padding: 0.625rem 1.25rem 0 1.25rem; } }
      .customized-solutions .features .feature .feature-cta a {
        height: 3.125rem;
        line-height: 3.125rem;
        border-radius: 3.125rem;
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        text-align: center;
        font-weight: 600;
        display: inline-block;
        width: 6.5rem; }
        @media print, screen and (min-width: 40em) {
          .customized-solutions .features .feature .feature-cta a {
            display: block;
            width: 100%; } }
  .customized-solutions .features .cta-button {
    width: 100%;
    height: 3.125rem;
    line-height: 3.125rem;
    color: #fff;
    border-radius: 3.125rem;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 600;
    text-align: center;
    display: inline-block;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
    @media print, screen and (min-width: 40em) {
      .customized-solutions .features .cta-button {
        width: 24.25rem; } }
  .customized-solutions .features .cta-text {
    line-height: 2.8125rem;
    font-size: 2.5rem;
    font-weight: 300;
    text-align: center;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .customized-solutions .features .cta-text {
        line-height: 3.75rem;
        font-size: 3.125rem; } }

.featured-widgets {
  background: #fff;
  padding-top: 0;
  padding-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .featured-widgets {
      padding-top: 3.75rem;
      padding-bottom: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-widgets {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  @media screen and (max-width: 39.9375em) {
    .featured-widgets .row {
      padding: 0;
      margin: 0; } }
  @media screen and (max-width: 39.9375em) {
    .featured-widgets .row .large-4 {
      padding: 0;
      margin: 0; } }
  .featured-widgets .widget {
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .featured-widgets .widget {
        margin-bottom: 0; } }
    .featured-widgets .widget .widget-image {
      height: auto;
      overflow: hidden;
      float: none;
      width: auto;
      margin-right: 0; }
      @media print, screen and (min-width: 40em) {
        .featured-widgets .widget .widget-image {
          height: 15.3125rem;
          width: 25rem;
          float: left;
          margin-right: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .featured-widgets .widget .widget-image {
          height: 12.5rem;
          float: none;
          width: auto;
          margin-right: 0; } }
      .featured-widgets .widget .widget-image img {
        min-height: 100%;
        width: 100%; }
        @media print, screen and (min-width: 40em) {
          .featured-widgets .widget .widget-image img {
            height: 15.3125rem;
            width: 100%; } }
        @media print, screen and (min-width: 64em) {
          .featured-widgets .widget .widget-image img {
            height: 100%;
            max-width: 100%; } }
    .featured-widgets .widget .widget-contents .widget-details {
      padding: 1.875rem 1.875rem 1.25rem 1.875rem;
      height: auto; }
      @media print, screen and (min-width: 40em) {
        .featured-widgets .widget .widget-contents .widget-details {
          height: 12.1875rem;
          padding: 1.875rem 0.625rem; } }
      @media print, screen and (min-width: 64em) {
        .featured-widgets .widget .widget-contents .widget-details {
          height: 12.1875rem;
          padding: 1.875rem; } }
      .featured-widgets .widget .widget-contents .widget-details h5 {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.25rem;
        color: #fff;
        margin: 0 0 0.3125rem 0; }
      .featured-widgets .widget .widget-contents .widget-details h2 {
        font-size: 1.5rem;
        font-weight: 700;
        color: #fff;
        line-height: 1.625rem; }
      .featured-widgets .widget .widget-contents .widget-details span {
        font-size: 1rem;
        font-weight: 600;
        font-style: italic;
        color: #fff;
        line-height: 1.2rem; }
    .featured-widgets .widget .widget-contents .widget-footer {
      height: 4.375rem;
      line-height: 4.375rem;
      text-align: right;
      font-size: 1.1875rem;
      font-weight: 700;
      margin-right: 1.875rem;
      margin-left: 1.875rem;
      border-top: 0.125rem solid rgba(0, 0, 0, 0.1); }
      @media print, screen and (min-width: 40em) {
        .featured-widgets .widget .widget-contents .widget-footer {
          height: 3.125rem;
          line-height: 2.5rem;
          margin-left: 26.25rem; } }
      @media print, screen and (min-width: 64em) {
        .featured-widgets .widget .widget-contents .widget-footer {
          height: 4.375rem;
          line-height: 4.375rem;
          margin-left: 1.875rem; } }
      .featured-widgets .widget .widget-contents .widget-footer a {
        color: #fff; }
        .featured-widgets .widget .widget-contents .widget-footer a img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }

.bg-green {
  background: #6a8e2c; }
  .bg-green:hover {
    background: #1f6e08; }

.bg-orange {
  background: #c86b1f; }
  .bg-orange:hover {
    background: #d14704; }

.bg-navy {
  background: #547b96; }
  .bg-navy:hover {
    background: #1c64a1; }

.bg-blue {
  background: #1b4886; }
  .bg-blue:hover {
    background: #0a3a74; }

.bg-gray {
  background: #696969; }
  .bg-gray:hover {
    background: #444; }

.text-green {
  color: #6a8e2c; }

.text-orange {
  color: #c86b1f; }

.text-navy {
  color: #547b96; }

.text-blue {
  color: #1b4886; }

.text-gray {
  color: #696969; }

body {
  overflow-x: hidden; }
  body .subscription-form .gform_confirmation_wrapper .gform_confirmation_message {
    border: none;
    color: #fff;
    text-align: left;
    padding: 0.625rem 0;
    margin-top: 0.625rem;
    font-weight: 700; }
  body .subscription-form .gform_wrapper ul.gform_fields li.gfield.gfield_error + li.gfield.gfield_error {
    margin-top: 0; }
  body .subscription-form .gform_wrapper {
    margin: 0; }
    body .subscription-form .gform_wrapper .validation_error {
      border: none;
      color: #FF3422;
      text-align: left;
      padding: 0;
      margin: 0 0 0.5rem 0; }
    body .subscription-form .gform_wrapper form {
      position: relative;
      z-index: 99; }
      body .subscription-form .gform_wrapper form label:empty {
        display: none; }
      body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield {
        margin: 0;
        padding: 0; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox {
          margin: 0; }
          body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox {
            margin: 0 0 0.625rem;
            width: 100%; }
            body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox:after {
              display: block;
              content: '';
              clear: both; }
            body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li {
              display: block;
              margin: 0 0.9375rem 0 0;
              float: left;
              /* checkbox aspect */
              /* checked mark aspect */
              /* checked mark aspect changes */
              /* disabled checkbox */
              /* accessibility */ }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li label {
                font-family: 'Source Sans Pro', sans-serif;
                font-size: 1rem;
                font-weight: 300;
                color: #fff;
                max-width: 100%;
                width: 100%; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked),
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked {
                position: absolute;
                left: -9999px; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked) + label,
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked + label {
                position: relative;
                padding-left: 1.5625rem;
                cursor: pointer; }
                @media print, screen and (min-width: 40em) {
                  body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked) + label,
                  body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked + label {
                    padding-left: 2.1875rem; } }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked) + label:before,
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked + label:before {
                content: '';
                position: absolute;
                left: 0;
                top: 0.125rem;
                width: 1.25rem;
                height: 1.25rem;
                border: 1px solid #fff;
                background: #3c3c3c; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked) + label:after,
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked + label:after {
                content: '×';
                position: absolute;
                top: -0.8125rem;
                left: 3px;
                font-size: 1.75rem;
                color: #fff;
                line-height: 1.75;
                transition: all .2s; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked) + label:after {
                opacity: 0;
                -webkit-transform: scale(0);
                -ms-transform: scale(0);
                transform: scale(0); }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked + label:after {
                opacity: 1;
                -webkit-transform: scale(1);
                -ms-transform: scale(1);
                transform: scale(1); }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:disabled:not(:checked) + label:before,
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:disabled:checked + label:before {
                box-shadow: none;
                border-color: #bbb;
                background-color: #ddd; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:disabled:checked + label:after {
                color: #999; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:disabled + label {
                color: #aaa; }
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked:focus + label:before,
              body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked):focus + label:before {
                border: 1px solid #fff; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_text {
          margin: 0; }
          body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_text input {
            background: none;
            height: 2.5rem;
            border-color: #fff;
            box-shadow: none;
            color: #fff;
            margin: 0; }
            body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_text input:focus {
              box-shadow: none; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_email {
          margin: 0; }
          body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_email input {
            background: none;
            height: 2.5rem;
            border-color: #fff;
            box-shadow: none;
            color: #fff;
            margin: 0; }
            body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_email input:focus {
              box-shadow: none; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_required {
          display: none; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_label {
          display: none; }
      body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield_error {
        background: none;
        border: none;
        margin-bottom: 0 !important;
        margin-top: 0; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield_error .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
          border-color: red; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield_error .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:not(:checked) + label:before,
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield_error .ginput_container_checkbox .gfield_checkbox li [type="checkbox"]:checked + label:before {
          border: 1px solid red; }
        body .subscription-form .gform_wrapper form .gform_body .gform_fields .gfield_error .validation_message {
          display: none; }
      body .subscription-form .gform_wrapper form .gform_footer {
        position: relative;
        margin: 0;
        padding: 0;
        height: 0; }
        body .subscription-form .gform_wrapper form .gform_footer input.button {
          position: absolute;
          padding: 0;
          margin: 0;
          right: 0;
          bottom: 0;
          width: 6.5625rem;
          height: 2.5rem;
          display: inline;
          background: #fff;
          text-align: center;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1rem;
          font-weight: 600;
          color: #3c3c3c; }
  body .movr-subscription-form {
    position: relative; }
    body .movr-subscription-form .gform_confirmation_message {
      font-size: 1.1875rem;
      max-width: 62.5rem;
      color: #fff;
      margin: 0 auto;
      line-height: 1.4375rem;
      font-family: 'Source Sans Pro', sans-serif; }
    body .movr-subscription-form .gform_anchor {
      display: block;
      position: absolute;
      top: -5rem; }
    body .movr-subscription-form .gform_wrapper,
    body .movr-subscription-form .gform_wrapper.gform_validation_error {
      margin: 0; }
      body .movr-subscription-form .gform_wrapper form,
      body .movr-subscription-form .gform_wrapper.gform_validation_error form {
        max-width: 62.5rem; }
        body .movr-subscription-form .gform_wrapper form .validation_error,
        body .movr-subscription-form .gform_wrapper.gform_validation_error form .validation_error {
          color: #8E0005;
          border: none;
          font-size: 1.1875rem;
          margin: 0;
          padding-top: 0;
          line-height: 1.4375rem;
          font-family: 'Source Sans Pro', sans-serif; }
        body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields,
        body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields {
          width: 100%; }
          body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield,
          body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error,
          body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield,
          body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error {
            max-width: 100% !important;
            position: relative;
            background: none;
            border: none;
            margin: 0 !important;
            padding: 0;
            width: 100%; }
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield:after,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error:after,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield:after,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error:after {
              display: block;
              content: '';
              clear: both; }
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield .gfield_label,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield .ginput_container,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error .ginput_container,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield .gfield_label,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield .ginput_container,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .ginput_container {
              display: block;
              vertical-align: top; }
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield .gfield_label,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield .gfield_label,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label {
              color: #fff;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1.125rem;
              font-weight: 700;
              line-height: 1.5rem;
              margin-bottom: 0.9375rem; }
              @media print, screen and (min-width: 64em) {
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield .gfield_label,
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield .gfield_label,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label {
                  float: left;
                  width: 42%;
                  line-height: 3.125rem;
                  font-size: 1.5rem;
                  margin: 0; } }
              body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield .gfield_label .gfield_required,
              body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label .gfield_required,
              body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield .gfield_label .gfield_required,
              body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .gfield_label .gfield_required {
                display: none; }
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container {
              padding-right: 7.4375rem;
              width: 100%;
              margin: 0; }
              @media print, screen and (min-width: 64em) {
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container,
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container {
                  padding-right: 11.1875rem;
                  float: right;
                  width: 58%; } }
              body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
              body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
              body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
              body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
                background: #fff;
                line-height: 3rem;
                height: 3.125rem;
                width: 100%;
                border-color: #fff;
                box-shadow: none;
                color: #696969;
                margin: 0;
                font-weight: 600;
                font-size: 1.1875rem;
                padding: 0 2.0625rem;
                width: 100%; }
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus,
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):focus {
                  box-shadow: none; }
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::-webkit-input-placeholder,
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::-webkit-input-placeholder,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::-webkit-input-placeholder,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::-webkit-input-placeholder {
                  /* Chrome, Firefox, Opera, Safari 10.1+ */
                  color: #298dff;
                  opacity: 1;
                  /* Firefox */
                  font-weight: 600;
                  font-size: 1.1875rem; }
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):-ms-input-placeholder,
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):-ms-input-placeholder,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):-ms-input-placeholder,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):-ms-input-placeholder {
                  /* Chrome, Firefox, Opera, Safari 10.1+ */
                  color: #298dff;
                  opacity: 1;
                  /* Firefox */
                  font-weight: 600;
                  font-size: 1.1875rem; }
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::placeholder,
                body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::placeholder,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::placeholder,
                body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"])::placeholder {
                  /* Chrome, Firefox, Opera, Safari 10.1+ */
                  color: #298dff;
                  opacity: 1;
                  /* Firefox */
                  font-weight: 600;
                  font-size: 1.1875rem; }
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error.gfield_error div.ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
              border-color: #8E0005; }
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield .validation_message,
            body .movr-subscription-form .gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error .validation_message,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield .validation_message,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_body ul.gform_fields li.gfield.gfield_error .validation_message {
              position: absolute;
              top: 3.125rem;
              width: 100%;
              text-align: center;
              top: 3.125rem;
              right: 0;
              left: 0;
              padding-right: 0;
              color: #8E0005;
              font-size: 1.1875rem;
              font-weight: normal;
              display: none;
              line-height: 1.4375rem;
              font-family: 'Source Sans Pro', sans-serif; }
        body .movr-subscription-form .gform_wrapper form .gform_footer,
        body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_footer {
          position: relative;
          margin: 0;
          padding: 0; }
          body .movr-subscription-form .gform_wrapper form .gform_footer input.button,
          body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_footer input.button {
            position: absolute;
            padding: 0;
            right: 0;
            top: -3.125rem;
            width: 7.4375rem;
            height: 3.125rem;
            line-height: 1;
            display: inline;
            background: #1b4886;
            text-align: center;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1.1875rem;
            font-weight: 600;
            color: #fff;
            margin: 0; }
            @media print, screen and (min-width: 64em) {
              body .movr-subscription-form .gform_wrapper form .gform_footer input.button,
              body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_footer input.button {
                line-height: 3.125rem;
                width: 11.1875rem; } }
            body .movr-subscription-form .gform_wrapper form .gform_footer input.button:hover,
            body .movr-subscription-form .gform_wrapper.gform_validation_error form .gform_footer input.button:hover {
              background: #2a5996; }

.product-title-wrapper {
  padding: 1.875rem 0 0.625rem 0; }
  .product-title-wrapper .product-title h1 {
    line-height: 2.8125rem;
    font-size: 2.5rem;
    font-weight: 400;
    color: #1b4886; }
    @media print, screen and (min-width: 64em) {
      .product-title-wrapper .product-title h1 {
        line-height: 3.75rem;
        font-size: 3.75rem; } }
  .product-title-wrapper .product-title .signup-intro-text {
    line-height: 1.4375rem;
    font-size: 1.1875rem;
    font-weight: 600;
    color: #1b4886;
    margin: 0;
    margin-top: 1.875rem;
    margin-bottom: 3.75rem; }

.products-filters {
  padding: 3.75rem 0;
  background: #f5f5f5; }
  .products-filters .filters-form {
    background: #ebebeb;
    padding: 1.875rem;
    margin-bottom: 1.5625rem; }
    .products-filters .filters-form h3 {
      text-align: center;
      margin-top: 0;
      margin-bottom: 1.875rem;
      line-height: 1.625rem;
      font-size: 1.5rem;
      font-weight: 700;
      color: #696969; }
    .products-filters .filters-form select {
      width: 100%;
      margin-right: 0;
      height: 3.75rem;
      border: none;
      background-image: url("../img/arrow-down-g.svg");
      background-position: right -1.6875rem center;
      background-size: 1.25rem 0.75rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      color: #696969;
      padding-left: 0.9375rem;
      padding-right: 2.9375rem; }
      @media print, screen and (min-width: 64em) {
        .products-filters .filters-form select {
          width: 28.9375rem;
          margin-right: 1.875rem;
          padding-left: 1.875rem; } }
    .products-filters .filters-form button {
      height: 3.75rem;
      background: #696969;
      color: #fff;
      text-align: center;
      width: 100%;
      border: none;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      line-height: 3.75rem;
      font-weight: 700; }
      @media print, screen and (min-width: 64em) {
        .products-filters .filters-form button {
          width: 12.625rem; } }
      .products-filters .filters-form button:hover {
        background: #555;
        cursor: pointer; }
  .products-filters .category-accordion {
    margin-bottom: 1.25rem; }
    .products-filters .category-accordion .count {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      line-height: 1.75rem;
      font-weight: 700;
      color: #696969;
      padding-left: 1.875rem; }
    .products-filters .category-accordion .accordion .accordion-item .accordion-title {
      background: #1b4886;
      border: none;
      border-bottom: 0.125rem solid #f5f5f5;
      padding: 0.9375rem 3.75rem 0.9375rem 1.875rem; }
      @media print, screen and (min-width: 64em) {
        .products-filters .category-accordion .accordion .accordion-item .accordion-title {
          padding: 1.875rem 11.25rem 1.875rem 1.875rem; } }
      .products-filters .category-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #ebebeb;
        padding-bottom: 0;
        border-bottom: 0.125rem solid #ebebeb; }
        @media print, screen and (min-width: 64em) {
          .products-filters .category-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] {
            padding-bottom: 1.875rem; } }
        .products-filters .category-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          background: url("../img/arrow-up-b.svg") no-repeat center center;
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
        .products-filters .category-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] h3, .products-filters .category-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] p {
          color: #1b4886; }
      .products-filters .category-accordion .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 40em) {
          .products-filters .category-accordion .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
      .products-filters .category-accordion .accordion .accordion-item .accordion-title h3 {
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.625rem; }
      .products-filters .category-accordion .accordion .accordion-item .accordion-title p {
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        margin: 0; }
    .products-filters .category-accordion .accordion .accordion-item .accordion-content {
      background: #ebebeb;
      border: none;
      padding: 0 1.875rem;
      border-bottom: 0.25rem solid #f5f5f5; }
      @media print, screen and (min-width: 64em) {
        .products-filters .category-accordion .accordion .accordion-item .accordion-content {
          padding: 3.75rem 1.875rem 3.75rem 1.875rem; } }
      .products-filters .category-accordion .accordion .accordion-item .accordion-content .prod-desc {
        color: #1b4886;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        margin: 0;
        padding-bottom: 0.9375rem; }
      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container {
        position: relative; }
        .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-2 {
          position: relative; }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-2 table.chart-table tbody tr td:nth-of-type(2) {
            padding-right: 3.75rem !important; }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-2 .shadow-0 {
            display: none; }
            @media print, screen and (min-width: 64em) {
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-2 .shadow-0 {
                background: #fff;
                position: absolute;
                top: -1.875rem;
                bottom: -1.875rem;
                right: 0;
                width: 40%;
                display: block;
                content: '';
                z-index: 1;
                box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-2 .shadow-1 {
            display: none; }
            @media print, screen and (min-width: 64em) {
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-2 .shadow-1 {
                background: #fff;
                position: absolute;
                top: -1.875rem;
                bottom: -1.875rem;
                right: 42%;
                width: 38%;
                display: block;
                content: '';
                z-index: 1;
                box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
        .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-1 .shadow-0 {
          display: none; }
          @media print, screen and (min-width: 64em) {
            .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-1 .shadow-0 {
              display: block;
              background: #fff;
              position: absolute;
              top: -1.875rem;
              bottom: -1.875rem;
              right: 0;
              width: 80%;
              display: block;
              content: '';
              z-index: 1;
              box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
        .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 {
          position: relative; }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 .shadow-0 {
            display: none; }
            @media print, screen and (min-width: 64em) {
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 .shadow-0 {
                background: #fff;
                position: absolute;
                top: -1.875rem;
                bottom: -1.875rem;
                right: 0;
                width: 25%;
                display: block;
                content: '';
                z-index: 1;
                box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 .shadow-1 {
            display: none; }
            @media print, screen and (min-width: 64em) {
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 .shadow-1 {
                background: #fff;
                position: absolute;
                top: -1.875rem;
                bottom: -1.875rem;
                right: 27%;
                width: 25%;
                display: block;
                content: '';
                z-index: 1;
                box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 .shadow-2 {
            display: none; }
            @media print, screen and (min-width: 64em) {
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container.count-3 .shadow-2 {
                background: #fff;
                position: absolute;
                top: -1.875rem;
                bottom: -1.875rem;
                right: 54%;
                width: 25%;
                display: block;
                content: '';
                z-index: 1;
                box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
        .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table {
          position: relative;
          z-index: 2; }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody {
            background: transparent; }
            .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row {
              background: transparent; }
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td {
                vertical-align: top;
                background-color: transparent;
                padding-top: 0.3125rem;
                padding-bottom: 0; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.key {
                  color: #298dff;
                  font-family: 'Source Sans Pro', sans-serif;
                  font-size: 1rem;
                  font-weight: 600;
                  padding-left: 0;
                  width: 20%; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.key:before {
                    content: ' ';
                    display: block;
                    width: 100%;
                    border-bottom: 0.125rem solid #dcdcdc;
                    vertical-align: bottom;
                    margin-bottom: 0.3125rem; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.value {
                  color: #696969;
                  font-family: 'Source Sans Pro', sans-serif;
                  font-size: 1rem;
                  font-weight: 400;
                  padding-left: 1.875rem;
                  padding-right: 1.875rem; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.value:before {
                    content: ' ';
                    display: block;
                    width: 100%;
                    border-bottom: 0.125rem solid #ebebeb;
                    vertical-align: bottom;
                    margin-bottom: 0.3125rem; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.value h3 {
                    text-align: center;
                    font-size: 1.1875rem;
                    font-weight: 700;
                    line-height: 1.4375rem;
                    margin: 0 0 0.625rem 0; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.value h3 a {
                      color: #298dff; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.value h3 a:hover {
                        color: #1b4886; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.value p {
                    font-size: 1rem;
                    font-weight: 600;
                    line-height: 1.1875rem; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.width-2 {
                  width: 40%; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas {
                  padding-top: 0;
                  padding-bottom: 0;
                  padding-right: 1.875rem;
                  padding-left: 1.875rem; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas.first-one {
                    padding-left: 1.875rem;
                    padding-right: 1.875rem; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas.first-one:before {
                      content: ' ';
                      display: block;
                      width: 100%;
                      border-top: 0.125rem solid #ebebeb;
                      vertical-align: bottom;
                      margin-top: 1.5625rem;
                      padding-top: 1.5625rem; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a {
                    display: block;
                    text-align: center;
                    font-family: 'Source Sans Pro', sans-serif;
                    line-height: 1.4375rem;
                    font-size: 1.1875rem;
                    font-weight: 600;
                    margin-bottom: 1.5625rem; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.try-browser {
                      color: #298dff;
                      position: relative; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.try-browser:after {
                        position: absolute;
                        margin-left: 0.4375rem;
                        top: 0.25rem;
                        content: ' ';
                        display: inline-block;
                        width: 1.6875rem;
                        height: 1.1625rem;
                        background: url("../img/arrow-right-blue.svg") no-repeat center center;
                        background-size: 1.6875rem 1.1625rem; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.try-browser:hover {
                        -webkit-filter: brightness(60%);
                        filter: brightness(60%); }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.trail-period {
                      border: 0.125rem solid #298dff;
                      border-radius: 3.125rem;
                      height: 3.125rem;
                      line-height: 3.125rem;
                      color: #298dff; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.trail-period:hover {
                        color: #1b4886;
                        border-color: #1b4886; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.buy-now {
                      background: #298dff;
                      border-radius: 3.125rem;
                      height: 3.125rem;
                      line-height: 3.125rem;
                      color: #fff;
                      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row td.product-ctas a.buy-now:hover {
                        background: #1b4886; }
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row:first-child td:before {
                content: '';
                display: none; }
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row:last-child td.key:after {
                content: ' ';
                display: block;
                width: 100%;
                border-bottom: 0.125rem solid #dbdddc;
                vertical-align: bottom;
                margin-top: 0.3125rem; }
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table tbody tr.row:last-child td.value:after {
                content: ' ';
                display: block;
                width: 100%;
                border-bottom: 0.125rem solid #ebebeb;
                vertical-align: bottom;
                margin-top: 0.3125rem; }
        .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile {
          border-bottom: 2px solid #dcdcdc;
          margin-bottom: 0;
          padding-top: 1.25rem; }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile:last-child {
            border-bottom: none; }
          .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody {
            background: transparent; }
            .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr {
              background: transparent; }
              .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td {
                background-color: transparent;
                padding: 0.5rem 0 0.1875rem 0; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.product h3 {
                  font-family: 'Source Sans Pro', sans-serif;
                  line-height: 1.4375rem;
                  font-size: 1.1875rem;
                  font-weight: 700;
                  margin: 0 0 0.9375rem 0;
                  text-align: center; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.product h3 a {
                    color: #298dff; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.product h3 a:hover {
                      color: #1b4886; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.product p {
                  font-family: 'Source Sans Pro', sans-serif;
                  line-height: 1.4375rem;
                  font-size: 1.1875rem;
                  font-weight: 600;
                  color: #696969;
                  margin: 0; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.features h3 {
                  color: #298dff;
                  font-family: 'Source Sans Pro', sans-serif;
                  font-size: 1.1875rem;
                  font-weight: 600;
                  line-height: 1.4375rem;
                  margin: 0; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.features p {
                  font-family: 'Source Sans Pro', sans-serif;
                  line-height: 1.4375rem;
                  font-size: 1.1875rem;
                  font-weight: 400;
                  color: #696969;
                  margin: 0; }
                .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas {
                  padding-top: 0;
                  padding-bottom: 0; }
                  .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a {
                    display: block;
                    text-align: center;
                    font-family: 'Source Sans Pro', sans-serif;
                    line-height: 1.4375rem;
                    font-size: 1.1875rem;
                    font-weight: 600;
                    margin-bottom: 1.5625rem; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.try-browser {
                      color: #298dff;
                      position: relative;
                      margin-top: 1.875rem; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.try-browser:after {
                        position: absolute;
                        margin-left: 0.4375rem;
                        top: 0.25rem;
                        content: ' ';
                        display: inline-block;
                        width: 1.6875rem;
                        height: 1.1625rem;
                        background: url("../img/arrow-right-blue.svg") no-repeat center center;
                        background-size: 1.6875rem 1.1625rem; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.try-browser:hover {
                        -webkit-filter: brightness(60%);
                        filter: brightness(60%); }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.trail-period {
                      border: 0.125rem solid #298dff;
                      border-radius: 3.125rem;
                      height: 3.125rem;
                      line-height: 3.125rem;
                      color: #298dff; }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.trail-period:hover {
                        color: #1b4886;
                        border-color: #1b4886; }
                    .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.buy-now {
                      background: #298dff;
                      border-radius: 3.125rem;
                      height: 3.125rem;
                      line-height: 3.125rem;
                      color: #fff;
                      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
                      .products-filters .category-accordion .accordion .accordion-item .accordion-content .chart-container table.chart-table-mobile tbody tr td.ctas a.buy-now:hover {
                        background: #1b4886; }
    .products-filters .category-accordion .accordion .accordion-item.is-active .accordion-title {
      background: #ebebeb;
      padding-bottom: 0;
      border-bottom: 0.125rem solid #ebebeb; }
      @media print, screen and (min-width: 64em) {
        .products-filters .category-accordion .accordion .accordion-item.is-active .accordion-title {
          padding-bottom: 1.875rem; } }
      .products-filters .category-accordion .accordion .accordion-item.is-active .accordion-title:before {
        background: url("../img/arrow-up-b.svg") no-repeat center center;
        -ms-transform: rotate(180deg);
        /* IE 9 */
        -webkit-transform: rotate(180deg);
        /* Safari */
        transform: rotate(180deg); }
      .products-filters .category-accordion .accordion .accordion-item.is-active .accordion-title h3, .products-filters .category-accordion .accordion .accordion-item.is-active .accordion-title p {
        color: #1b4886; }

.product-intro {
  padding-bottom: 3.125rem;
  position: relative; }
  .product-intro .product-details {
    margin-bottom: 1.875rem;
    font-family: 'Source Sans Pro', sans-serif;
    line-height: 1.4375rem;
    font-size: 1.1875rem; }
    .product-intro .product-details p {
      line-height: 1.4375rem;
      font-weight: 400;
      color: #696969; }
      .product-intro .product-details p a {
        color: #696969;
        font-weight: 400;
        text-decoration: underline; }
        .product-intro .product-details p a:hover {
          opacity: 0.7; }
      .product-intro .product-details p:first-child {
        color: #1b4886;
        font-weight: 600;
        margin-bottom: 0.625rem; }
        .product-intro .product-details p:first-child a {
          color: #1b4886;
          font-weight: 600;
          text-decoration: underline; }
          .product-intro .product-details p:first-child a:hover {
            opacity: 0.7; }
    .product-intro .product-details ul li {
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      color: #696969; }
  .product-intro .product-ctas {
    width: auto; }
    @media print, screen and (min-width: 64em) {
      .product-intro .product-ctas {
        width: 30.9375rem; } }
    .product-intro .product-ctas a {
      display: block;
      text-align: center;
      font-family: 'Source Sans Pro', sans-serif;
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      font-weight: 600;
      margin-bottom: 1.25rem;
      width: 100%; }
      .product-intro .product-ctas a.try-browser {
        color: #298dff;
        position: relative; }
        .product-intro .product-ctas a.try-browser:after {
          position: absolute;
          margin-left: 0.4375rem;
          top: 0.25rem;
          content: ' ';
          display: inline-block;
          width: 1.6875rem;
          height: 1.1625rem;
          background: url("../img/arrow-right-blue.svg") no-repeat center center;
          background-size: 1.6875rem 1.1625rem; }
        .product-intro .product-ctas a.try-browser:hover {
          -webkit-filter: brightness(60%);
          filter: brightness(60%); }
      .product-intro .product-ctas a.trail-period {
        border: 0.125rem solid #298dff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #298dff; }
        .product-intro .product-ctas a.trail-period:hover {
          color: #1b4886;
          border-color: #1b4886; }
      .product-intro .product-ctas a.buy-now {
        background: #298dff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #fff;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        .product-intro .product-ctas a.buy-now:hover {
          background: #1b4886; }

.recommended-pricing .main-title {
  background: #0d7eff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .recommended-pricing .main-title {
      min-height: 5.625rem; } }
  .recommended-pricing .main-title:after, .recommended-pricing .main-title:before {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .recommended-pricing .main-title:after, .recommended-pricing .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .recommended-pricing .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .recommended-pricing .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .recommended-pricing .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .recommended-pricing .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.recommended-pricing .plans {
  background: #298dff;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem; }
  .recommended-pricing .plans .plan {
    background: #fff;
    padding: 1.875rem;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
    .recommended-pricing .plans .plan h4 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.4375rem;
      margin: 0 0 0.625rem 0; }
    .recommended-pricing .plans .plan p {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      min-height: 5rem; }
      .recommended-pricing .plans .plan p:empty {
        display: none; }
      .recommended-pricing .plans .plan p > a {
        display: inline;
        margin: 0;
        background: none;
        line-height: 1.4375rem;
        color: #298dff;
        box-shadow: none; }
    .recommended-pricing .plans .plan .demo,
    .recommended-pricing .plans .plan .buy-now {
      display: block;
      margin-top: 0.9375rem;
      text-align: center;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      background: #298dff;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      color: #fff;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .recommended-pricing .plans .plan .demo:hover,
      .recommended-pricing .plans .plan .buy-now:hover {
        background: #1b4886; }

.recommended-pricing .plans-mobile {
  background: #0d7eff;
  padding-top: 0;
  padding-bottom: 3.75rem; }
  .recommended-pricing .plans-mobile .accordion .accordion-item {
    border-bottom: 0.125rem solid #0d7eff; }
    .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-title {
      background: #298dff;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      border: none;
      height: 4.875rem;
      line-height: 4.875rem;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 1.875rem; }
      .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #298dff;
        color: #fff; }
        .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
      .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        right: 1.25rem;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 64em) {
          .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
    .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-content {
      background: #298dff;
      border: none;
      padding: 1.875rem;
      padding-top: 0; }
      .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-content p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #fff; }
        .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-content p:empty {
          display: none; }
      .recommended-pricing .plans-mobile .accordion .accordion-item .accordion-content .white-cta {
        display: block;
        text-align: center;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        margin-bottom: 1.25rem;
        background: #fff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #298dff;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }

.product-details .main-title {
  background: #f5f5f5;
  min-height: auto;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .product-details .main-title {
      background: #ebebeb;
      min-height: 5.625rem;
      position: relative; } }
  .product-details .main-title:after, .product-details .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .product-details .main-title:after, .product-details .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .product-details .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .product-details .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .product-details .main-title h5 {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .product-details .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.product-details .chart-accordion {
  background: #f5f5f5;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .product-details .chart-accordion {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .product-details .chart-accordion .chart-container {
    position: relative;
    margin-top: 1.875rem; }
    .product-details .chart-accordion .chart-container:before {
      background: #fff;
      position: absolute;
      top: -1.875rem;
      bottom: -1.875rem;
      right: 0;
      width: 65%;
      display: block;
      content: '';
      z-index: 1;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
    .product-details .chart-accordion .chart-container table.chart-table {
      position: relative;
      z-index: 2; }
      .product-details .chart-accordion .chart-container table.chart-table tbody {
        background: transparent; }
        .product-details .chart-accordion .chart-container table.chart-table tbody tr {
          background: transparent; }
          .product-details .chart-accordion .chart-container table.chart-table tbody tr td {
            vertical-align: top;
            background-color: transparent;
            padding-top: 0.3125rem;
            padding-bottom: 0; }
            .product-details .chart-accordion .chart-container table.chart-table tbody tr td.key {
              color: #298dff;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1rem;
              font-weight: 600;
              line-height: 1.1875rem;
              padding-left: 0;
              padding-right: 0; }
              .product-details .chart-accordion .chart-container table.chart-table tbody tr td.key:before {
                content: ' ';
                display: block;
                width: 100%;
                border-bottom: 0.125rem solid #ebebeb;
                vertical-align: bottom;
                margin-bottom: 0.3125rem; }
            .product-details .chart-accordion .chart-container table.chart-table tbody tr td.value {
              padding-left: 2.5rem;
              padding-right: 1.875rem;
              color: #696969;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1rem;
              font-weight: 400;
              line-height: 1.1875rem; }
              .product-details .chart-accordion .chart-container table.chart-table tbody tr td.value:before {
                content: ' ';
                display: block;
                width: 100%;
                border-bottom: 0.125rem solid #ebebeb;
                vertical-align: bottom;
                margin-bottom: 0.3125rem; }
  .product-details .chart-accordion .promotion-question {
    width: 65%;
    text-align: left;
    float: right;
    clear: both;
    margin-top: 2.5rem;
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 600;
    line-height: 1.4375rem; }
    .product-details .chart-accordion .promotion-question a {
      color: #696969;
      text-decoration: underline; }
      .product-details .chart-accordion .promotion-question a:hover {
        opacity: 0.7; }
  .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-title {
    background: #1b4886;
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    border: none;
    border-bottom: 0.125rem solid #fff;
    height: auto;
    line-height: 1.8125rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    padding-left: 1.875rem;
    padding-right: 2.5rem;
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-title {
        height: 3.75rem;
        line-height: 3.75rem;
        padding-top: 0;
        padding-bottom: 0; } }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] {
      background: #ebebeb;
      color: #1b4886;
      border-bottom: 0.125rem solid #ebebeb; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
        background: url("../img/arrow-up-b.svg") no-repeat center center;
        -ms-transform: rotate(180deg);
        /* IE 9 */
        -webkit-transform: rotate(180deg);
        /* Safari */
        transform: rotate(180deg); }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-title:before {
      background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
      height: auto;
      width: 1.25rem;
      background-size: 1.25rem 0.75rem;
      position: absolute;
      /* Safari */
      transition: all 0.2s;
      margin-top: 0;
      top: 0;
      bottom: 0;
      content: ''; }
      @media print, screen and (min-width: 64em) {
        .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-title:before {
          height: 3.75rem;
          width: 1.9375rem;
          background-size: 1.9375rem 1.1875rem; } }
  .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content {
    background: #ebebeb;
    border: none;
    padding: 1.875rem;
    padding-top: 0; }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-wysiwyg {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #696969; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-wysiwyg h4 {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem;
        margin: 0;
        color: #696969; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-wysiwyg p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #696969; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-wysiwyg a:not([class="buy-now"]) {
        color: #696969;
        text-decoration: underline;
        font-weight: 600; }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block {
      margin-bottom: 0.625rem; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block h3 {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem;
        color: #696969; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #696969; }
        .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block p a {
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.1875rem;
          line-height: 1.4375rem;
          font-weight: 600;
          color: #696969; }
          .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block p a img {
            width: 1.6875rem;
            height: 1.1625rem;
            margin-left: 0.375rem; }
          .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block p a:hover {
            opacity: 0.7; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block .cta {
        display: block;
        text-align: center;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        margin-bottom: 1.25rem;
        background: #298dff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #fff;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-buttons-set .dbutton-block .cta:hover {
          background: #1b4886; }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison p {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem; }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table {
      border-collapse: collapse;
      border: none; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table thead {
        background: transparent;
        border: none; }
        .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table thead tr th {
          color: #1b4886;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1rem;
          font-weight: 700;
          line-height: 1.75rem;
          border-bottom: 0.125rem solid #e0e0e0; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody {
        background: transparent;
        border: none; }
        .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr {
          background: transparent; }
          .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td {
            vertical-align: middle;
            background-color: transparent;
            padding-top: 0.3125rem;
            padding-bottom: 0.3125rem;
            line-height: 1.2;
            border-bottom: 0.125rem solid #e0e0e0; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-feature {
              color: #1b4886;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1rem;
              font-weight: 400;
              line-height: 1.1875rem; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-check {
              text-align: center; }
              .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-check .checked-feature {
                width: 0.7625rem;
                height: 0.80625rem;
                display: inline-block;
                background: url("../img/check-db.svg") no-repeat center center; }
              .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-check:before {
                content: ' ';
                border-top: 0.125rem solid #ebebeb;
                display: block;
                position: relative;
                top: -0.625rem; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-type-cta a {
              display: block;
              text-align: center;
              font-family: 'Source Sans Pro', sans-serif;
              line-height: 3.125rem;
              font-size: 1.1875rem;
              font-weight: 600;
              margin-top: 1.5625rem;
              color: #fff;
              height: 3.125rem;
              border-radius: 3.125rem; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-type-cta:before {
              content: ' ';
              border-top: 0.125rem solid #ebebeb;
              display: block;
              position: relative;
              top: -0.625rem; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content .part-comparison table tbody tr td.partner-type-cta-empty:before {
              content: ' ';
              border-top: 0.125rem solid #dbdddc;
              display: block;
              position: relative;
              top: -0.625rem;
              right: 0.625rem; }
    .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content table.chart-table {
      position: relative;
      z-index: 2; }
      .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content table.chart-table tbody {
        background: transparent; }
        .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr {
          background: transparent; }
          .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr td {
            vertical-align: top;
            background-color: transparent;
            padding-top: 0.3125rem;
            padding-bottom: 0.3125rem; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr td.key {
              color: #298dff;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1.1875rem;
              font-weight: 600;
              line-height: 1.4375rem;
              padding-left: 0; }
            .product-details .chart-accordion .product-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr td.value {
              padding-left: 0;
              color: #696969;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1.1875rem;
              font-weight: 400;
              line-height: 1.4375rem; }

.product-details .buy-now {
  display: block;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 1.1875rem;
  font-weight: 600;
  background: #696969;
  border-radius: 3.125rem;
  height: 3.125rem;
  line-height: 3.125rem;
  color: #fff;
  box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
  text-align: center;
  position: relative; }
  .product-details .buy-now:after {
    background: url("../img/download-w.svg") no-repeat center center;
    width: 0.75625rem;
    height: 1.0125rem;
    content: '';
    display: inline-block;
    margin-left: 0.3125rem;
    margin-bottom: -0.1875rem; }
  .product-details .buy-now:hover {
    background: #444;
    color: #eee; }
  .product-details .buy-now:focus {
    color: #eee; }

.product-resources .main-title {
  background: #ebebeb;
  min-height: auto;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .product-resources .main-title {
      min-height: 5.625rem;
      position: relative; } }
  .product-resources .main-title:after, .product-resources .main-title:before {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .product-resources .main-title:after, .product-resources .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .product-resources .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .product-resources .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .product-resources .main-title h5 {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .product-resources .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.product-resources .resources {
  background: #ebebeb;
  padding-top: 3.125rem;
  padding-bottom: 3.75rem; }
  @media print, screen and (min-width: 64em) {
    .product-resources .resources {
      background: #f5f5f5; } }
  .product-resources .resources .columns {
    border-top: 0.125rem solid #ebebeb;
    border-left: none; }
    .product-resources .resources .columns:first-child {
      border-left: none;
      border-top: none; }
    @media print, screen and (min-width: 40em) {
      .product-resources .resources .columns {
        border-left: 0.125rem solid #ebebeb;
        border-top: none; } }
  .product-resources .resources .resource {
    padding: 0 1.875rem; }
    .product-resources .resources .resource .resource-icon {
      text-align: center;
      margin-bottom: 1.5625rem; }
      .product-resources .resources .resource .resource-icon img {
        height: 5.5625rem; }
        @media screen and (max-width: 39.9375em) {
          .product-resources .resources .resource .resource-icon img {
            display: none; } }
    .product-resources .resources .resource .resource-details {
      min-height: 10.9375rem; }
      .product-resources .resources .resource .resource-details h3 {
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.625rem;
        color: #1b4886; }
      .product-resources .resources .resource .resource-details p {
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #1b4886; }
    .product-resources .resources .resource .resource-cta {
      text-align: right; }
      .product-resources .resources .resource .resource-cta a {
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem;
        color: #1b4886; }
        .product-resources .resources .resource .resource-cta a img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }
    .product-resources .resources .resource:hover {
      opacity: 0.8;
      cursor: pointer; }

.product-resources .resources-mobile {
  background: #ebebeb;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .product-resources .resources-mobile {
      padding-left: 1.875rem;
      padding-right: 1.875rem; } }
  .product-resources .resources-mobile .accordion .accordion-item {
    border-bottom: 0.125rem solid #ebebeb; }
    .product-resources .resources-mobile .accordion .accordion-item .accordion-title {
      background: #f5f5f5;
      color: #1b4886;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      border: none;
      height: 4.875rem;
      line-height: 4.875rem;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 1.875rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      position: relative; }
      .product-resources .resources-mobile .accordion .accordion-item .accordion-title:before {
        content: ''; }
      .product-resources .resources-mobile .accordion .accordion-item .accordion-title.full:before {
        background: url("../img/arrow-up-b.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 40em) {
          .product-resources .resources-mobile .accordion .accordion-item .accordion-title.full:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
      .product-resources .resources-mobile .accordion .accordion-item .accordion-title.full[aria-expanded="true"]:before {
        -ms-transform: rotate(180deg);
        /* IE 9 */
        -webkit-transform: rotate(180deg);
        /* Safari */
        transform: rotate(180deg); }
    .product-resources .resources-mobile .accordion .accordion-item .accordion-content {
      background: #f5f5f5;
      border: none;
      padding: 1.875rem;
      padding-top: 0; }
      .product-resources .resources-mobile .accordion .accordion-item .accordion-content h4 {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem;
        margin: 0;
        color: #696969; }
      .product-resources .resources-mobile .accordion .accordion-item .accordion-content p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #696969; }
      .product-resources .resources-mobile .accordion .accordion-item .accordion-content .resource-cta {
        text-align: right; }
        .product-resources .resources-mobile .accordion .accordion-item .accordion-content .resource-cta a {
          font-size: 1.1875rem;
          font-weight: 700;
          line-height: 1.4375rem;
          color: #1b4886; }
          .product-resources .resources-mobile .accordion .accordion-item .accordion-content .resource-cta a img {
            width: 1.6875rem;
            height: 1.1625rem;
            margin-left: 0.375rem; }
          .product-resources .resources-mobile .accordion .accordion-item .accordion-content .resource-cta a:hover {
            opacity: 0.7; }

.ready-to-go {
  padding: 4.375rem 0 0 0; }
  .ready-to-go .cta-buttons {
    margin-bottom: 3.125rem;
    text-align: center; }
    .ready-to-go .cta-buttons .clear {
      clear: both; }
    .ready-to-go .cta-buttons .ready-text {
      font-size: 2.8125rem;
      line-height: 3.125rem;
      font-weight: 300;
      color: #298dff;
      float: none; }
      @media print, screen and (min-width: 64em) {
        .ready-to-go .cta-buttons .ready-text {
          float: left;
          font-size: 3.75rem;
          line-height: 3.75rem; } }
    .ready-to-go .cta-buttons .buy-now {
      display: block;
      text-align: center;
      font-size: 1.1875rem;
      font-weight: 600;
      margin-top: 1.25rem;
      margin-left: 0;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      background: #298dff;
      color: #fff;
      width: 100%;
      float: none; }
      .ready-to-go .cta-buttons .buy-now:hover {
        background: #1b4886; }
      @media print, screen and (min-width: 64em) {
        .ready-to-go .cta-buttons .buy-now {
          float: left;
          width: 20.125rem;
          display: inline-block;
          margin-left: 1.875rem;
          margin-top: 0.3125rem; } }
    .ready-to-go .cta-buttons .trail-period {
      display: block;
      text-align: center;
      font-size: 1.1875rem;
      font-weight: 600;
      margin-left: 0;
      margin-top: 1.25rem;
      border: 0.125rem solid #298dff;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      color: #298dff;
      width: 100%;
      float: none; }
      @media print, screen and (min-width: 64em) {
        .ready-to-go .cta-buttons .trail-period {
          display: inline-block;
          float: left;
          width: 20.5625rem;
          margin-left: 1.875rem;
          margin-top: 0.3125rem; } }
      .ready-to-go .cta-buttons .trail-period:hover {
        color: #1b4886;
        border-color: #1b4886; }

.related-widgets {
  padding: 1.25rem 0 1.5625rem 0; }
  .related-widgets .widget {
    padding: 1.5625rem 1.875rem 0 1.875rem;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
    .related-widgets .widget .widget-inner .widget-type {
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.25rem;
      color: #fff;
      margin-bottom: 0.625rem; }
    .related-widgets .widget .widget-inner .widget-title {
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      color: #fff;
      margin-bottom: 0.625rem; }
      .related-widgets .widget .widget-inner .widget-title.testimonial {
        position: relative; }
        .related-widgets .widget .widget-inner .widget-title.testimonial:before {
          content: '“';
          position: absolute;
          left: -0.9375rem; }
        .related-widgets .widget .widget-inner .widget-title.testimonial:after {
          content: '”'; }
    .related-widgets .widget .widget-inner .widget-image {
      background: #fff;
      margin: 1.5625rem 0; }
      .related-widgets .widget .widget-inner .widget-image img {
        padding: 1.25rem; }
    .related-widgets .widget .widget-inner .widget-excerpt {
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #fff; }
    .related-widgets .widget .widget-inner .widget-report-date {
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2rem;
      color: #fff; }
    .related-widgets .widget .widget-inner .widget-author {
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2rem;
      color: #fff; }
    .related-widgets .widget .widget-inner .widget-position {
      font-size: 1rem;
      font-weight: 600;
      font-style: italic;
      line-height: 1.2rem;
      color: #fff; }
    .related-widgets .widget .widget-footer {
      height: 4.2875rem;
      line-height: 4.2875rem;
      text-align: right;
      font-size: 1.1875rem;
      font-weight: 700;
      border-top: 0.125rem solid rgba(0, 0, 0, 0.1); }
      .related-widgets .widget .widget-footer:empty {
        border-top: none; }
      .related-widgets .widget .widget-footer a {
        color: #fff; }
        .related-widgets .widget .widget-footer a img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem;
          display: inline; }
  .related-widgets .no-hover:hover {
    background: #696969; }
  .related-widgets .see-more {
    text-align: right;
    margin-top: 0.625rem; }
    .related-widgets .see-more a {
      line-height: 1.4375rem;
      font-size: 1rem;
      font-weight: 700;
      color: #696969; }
      .related-widgets .see-more a img {
        width: 0.61875rem;
        height: 0.91875rem;
        margin-left: 0.3125rem; }
      .related-widgets .see-more a:hover {
        opacity: 0.7; }

.related-widgets-mobile .accordion .accordion-item .accordion-title {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  border: none;
  color: #fff;
  height: 4.875rem;
  line-height: 4.875rem;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.875rem;
  position: relative; }
  .related-widgets-mobile .accordion .accordion-item .accordion-title:hover, .related-widgets-mobile .accordion .accordion-item .accordion-title:focus {
    background: none; }
  .related-widgets-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"] {
    background: none;
    border: none; }
    .related-widgets-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:hover, .related-widgets-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:focus {
      background: none;
      border: none; }
    .related-widgets-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
      background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
      -ms-transform: rotate(180deg);
      /* IE 9 */
      -webkit-transform: rotate(180deg);
      /* Safari */
      transform: rotate(180deg); }
  .related-widgets-mobile .accordion .accordion-item .accordion-title:before {
    background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
    top: 0;
    content: '';
    width: 1.25rem;
    height: auto;
    margin-top: 0;
    position: absolute;
    bottom: 0;
    background-size: 1.25rem 0.75rem;
    /* Safari */
    transition: all 0.2s; }
    @media print, screen and (min-width: 40em) {
      .related-widgets-mobile .accordion .accordion-item .accordion-title:before {
        width: 1.9375rem;
        background-size: 1.9375rem 1.1875rem; } }

.related-widgets-mobile .accordion .accordion-item .accordion-content {
  background: none;
  padding: 0 1.875rem 1.875rem 1.875rem;
  border: none;
  margin: 0; }
  .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner {
    margin-bottom: 1.25rem; }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-title {
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      color: #fff;
      margin-bottom: 0.625rem; }
      .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-title.testimonial {
        position: relative; }
        .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-title.testimonial:before {
          content: '“';
          position: absolute;
          left: -0.9375rem; }
        .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-title.testimonial:after {
          content: '”'; }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-image {
      background: #fff;
      margin: 1.5625rem 0; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-image {
          width: 33%; } }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-excerpt {
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #fff; }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-report-date {
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2rem;
      color: #fff; }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-author {
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2rem;
      color: #fff; }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-inner .widget-position {
      font-size: 1rem;
      font-weight: 600;
      font-style: italic;
      line-height: 1.2rem;
      color: #fff; }
  .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-footer {
    padding-top: 1.25rem;
    text-align: right;
    font-size: 1.1875rem;
    font-weight: 700;
    border-top: 0.125rem solid rgba(0, 0, 0, 0.1); }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-footer:empty {
      border-top: none; }
    .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-footer a {
      color: #fff; }
      .related-widgets-mobile .accordion .accordion-item .accordion-content .widget-footer a img {
        width: 1.6875rem;
        height: 1.1625rem;
        margin-left: 0.375rem; }

.about-us {
  padding: 1.875rem 0 0 0;
  background: #fff; }
  .about-us .page-intro {
    padding-bottom: 3.125rem; }
    .about-us .page-intro h1 {
      margin-bottom: 1.25rem;
      line-height: 2.8125rem;
      font-size: 2.5rem;
      font-weight: 400;
      color: #1b4886; }
      @media print, screen and (min-width: 40em) {
        .about-us .page-intro h1 {
          line-height: 3.75rem;
          font-size: 3.75rem; } }
    .about-us .page-intro p {
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      font-weight: 400;
      color: #696969;
      margin-bottom: 0.625rem; }
      .about-us .page-intro p strong {
        font-weight: 600; }
      .about-us .page-intro p:empty {
        display: none; }
    .about-us .page-intro .intro-cta a {
      display: block;
      text-align: center;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      margin-top: 1.25rem;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      color: #fff;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
  .about-us .team {
    background: #f5f5f5; }
    .about-us .team .member {
      padding-top: 3.75rem;
      padding-bottom: 2.8125rem;
      border-top: 0.125rem solid #ebebeb;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .about-us .team .member {
          text-align: left; } }
      .about-us .team .member:first-child {
        border-top: none; }
      .about-us .team .member .member-picture {
        margin-bottom: 1.25rem; }
        .about-us .team .member .member-picture img {
          width: 100%;
          height: auto;
          background: #fff;
          border: 0.0625rem solid #ebebeb;
          padding: 0.1875rem; }
          @media print, screen and (min-width: 40em) {
            .about-us .team .member .member-picture img {
              border-radius: 0;
              border: none;
              padding: 0; } }
      .about-us .team .member .member-name {
        color: #298dff;
        line-height: 1.75rem;
        font-size: 1.5rem;
        font-weight: 700; }
      .about-us .team .member .member-position {
        color: #696969;
        line-height: 1.75rem;
        font-size: 1.5rem;
        font-weight: 400;
        margin-bottom: 1.25rem; }
      .about-us .team .member .member-bio {
        color: #696969;
        font-size: 1.1875rem;
        font-weight: 400;
        text-align: left; }
        .about-us .team .member .member-bio p {
          line-height: 1.4375rem;
          margin-bottom: 0.625rem; }
      .about-us .team .member .member-bio-right {
        color: #696969;
        margin-top: 0;
        font-size: 1.1875rem;
        font-weight: 400;
        text-align: left; }
        @media print, screen and (min-width: 64em) {
          .about-us .team .member .member-bio-right {
            margin-top: 4.75rem; } }
        .about-us .team .member .member-bio-right p {
          line-height: 1.4375rem;
          margin-bottom: 0.625rem; }
  .about-us .customers {
    background: #f5f5f5;
    padding: 3.75rem 0 1.875rem 0; }
    .about-us .customers .customer {
      margin-bottom: 1.875rem;
      background: #ffffff;
      height: 7.3125rem;
      text-align: center; }
      .about-us .customers .customer img {
        max-height: 100%; }

.the-page {
  padding: 1.875rem 0 0 0; }
  .the-page .page-intro {
    padding-bottom: 3.125rem; }
    .the-page .page-intro h1 {
      margin-bottom: 1.875rem;
      line-height: 2.8125rem;
      font-size: 2.5rem;
      font-weight: 400;
      color: #1b4886; }
      @media print, screen and (min-width: 64em) {
        .the-page .page-intro h1 {
          line-height: 3.75rem;
          font-size: 3.75rem; } }
    .the-page .page-intro p {
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      font-weight: 600;
      color: #1b4886; }
      .the-page .page-intro p strong {
        font-weight: 600; }
      .the-page .page-intro p:empty {
        display: none; }

.bundles-box .main-title {
  background: #0d7eff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .bundles-box .main-title {
      min-height: 5.625rem; } }
  .bundles-box .main-title:after, .bundles-box .main-title:before {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .bundles-box .main-title:after, .bundles-box .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .bundles-box .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .bundles-box .main-title:after {
        border-width: 1.875rem;
        margin-left: -1.875rem; } }
  .bundles-box .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.125rem;
    margin-left: -1.125rem; }
    @media print, screen and (min-width: 40em) {
      .bundles-box .main-title:before {
        border-width: 2.25rem;
        margin-left: -2.25rem; } }
  .bundles-box .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    padding: 1.25rem 0 0.625rem 0; }
    @media print, screen and (min-width: 40em) {
      .bundles-box .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.bundles-box .bundles {
  background: #298dff;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .bundles-box .bundles {
      padding-top: 3.75rem; } }
  .bundles-box .bundles .bundle {
    background: #fff;
    padding: 2.5rem 1.875rem 1.875rem 1.875rem;
    text-align: center;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem; }
    .bundles-box .bundles .bundle .bundle-icon {
      margin-bottom: 2.5rem; }
      .bundles-box .bundles .bundle .bundle-icon img {
        height: 4.6875rem; }
    .bundles-box .bundles .bundle h4 {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.4375rem;
      margin-bottom: 1.25rem;
      text-align: left; }
    .bundles-box .bundles .bundle p {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      min-height: 12.5rem;
      text-align: left; }
      .bundles-box .bundles .bundle p:empty {
        display: none; }
    .bundles-box .bundles .bundle .demo {
      display: block;
      margin-top: 1.5625rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      background: #c86b1f;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      color: #fff;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .bundles-box .bundles .bundle .demo:hover {
        background: #c85608; }
    .bundles-box .bundles .bundle .learn-more {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      line-height: 1.4375rem;
      font-weight: 600;
      color: #696969; }
      .bundles-box .bundles .bundle .learn-more img {
        width: 1.6875rem;
        height: 1.1625rem;
        margin-left: 0.375rem; }
      .bundles-box .bundles .bundle .learn-more:hover {
        opacity: 0.7; }

.bundles-box .bundles-mobile {
  background: #0d7eff;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .bundles-box .bundles-mobile {
      padding-left: 1.875rem;
      padding-right: 1.875rem; } }
  .bundles-box .bundles-mobile .accordion .accordion-item {
    border-bottom: 0.125rem solid #0d7eff; }
    .bundles-box .bundles-mobile .accordion .accordion-item .accordion-title {
      background: #298dff;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      border: none;
      height: 4.875rem;
      line-height: 4.875rem;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 1.875rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
      .bundles-box .bundles-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #298dff;
        color: #fff;
        border-bottom: 0.125rem solid #298dff; }
        .bundles-box .bundles-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
      .bundles-box .bundles-mobile .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 64em) {
          .bundles-box .bundles-mobile .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
    .bundles-box .bundles-mobile .accordion .accordion-item .accordion-content {
      background: #298dff;
      border: none;
      padding: 1.875rem;
      padding-top: 0;
      text-align: center; }
      .bundles-box .bundles-mobile .accordion .accordion-item .accordion-content p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #fff;
        margin-bottom: 1.25rem;
        text-align: left; }
        .bundles-box .bundles-mobile .accordion .accordion-item .accordion-content p:empty {
          display: none; }
      .bundles-box .bundles-mobile .accordion .accordion-item .accordion-content .white-cta {
        display: block;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        margin-bottom: 1.25rem;
        background: #fff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        margin-top: 1.25rem;
        color: #298dff;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .bundles-box .bundles-mobile .accordion .accordion-item .accordion-content .learn-more {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        line-height: 1.4375rem;
        font-weight: 600;
        color: #fff; }
        .bundles-box .bundles-mobile .accordion .accordion-item .accordion-content .learn-more img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }

.cta-box {
  padding: 5rem 0; }
  .cta-box .cta-title {
    font-weight: 300;
    color: #6a8e2c;
    font-size: 2.8125rem;
    line-height: 3.125rem;
    text-align: center;
    float: none; }
    @media print, screen and (min-width: 64em) {
      .cta-box .cta-title {
        line-height: 3.75rem;
        font-size: 3.75rem;
        text-align: left;
        float: left; } }
  .cta-box .cta-button {
    float: none;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .cta-box .cta-button {
        float: right;
        width: 40%; } }
    .cta-box .cta-button a {
      display: block;
      text-align: center;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      background: #6a8e2c;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      margin-top: 2.5rem;
      color: #fff;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .cta-box .cta-button a:hover {
        background: #4c8e2c; }

.faqs {
  background: #f5f5f5;
  padding: 3.75rem 0; }
  .faqs .faq-section h3.count {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    color: #696969; }
  .faqs .faq-section .section-title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    color: #696969;
    margin-bottom: 0.9375rem; }
  .faqs .faq-section .the-faq-accordion {
    margin-bottom: 1.25rem; }
    .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-title {
      background: #1b4886;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      border: none;
      border-bottom: 0.125rem solid #fff;
      line-height: 1.625rem;
      padding: 0.9375rem 3.125rem 0.9375rem 1.875rem;
      position: relative; }
      .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #ebebeb;
        color: #1b4886;
        border-bottom: 0.125rem solid #ebebeb; }
        .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          background: url("../img/arrow-up-b.svg") no-repeat center center;
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
      .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 40em) {
          .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
    .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content {
      background: #ebebeb;
      border: none;
      padding: 1.875rem;
      padding-top: 0;
      color: #696969;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem; }
      .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content h4 {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem;
        margin: 0;
        color: #696969; }
      .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content p {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #696969; }
      .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content table.chart-table {
        position: relative;
        z-index: 2; }
        .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content table.chart-table tbody {
          background: transparent; }
          .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr {
            background: transparent; }
            .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr td {
              vertical-align: top;
              background-color: transparent;
              padding-top: 0.3125rem;
              padding-bottom: 0.3125rem; }
              .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr td.key {
                color: #298dff;
                font-family: 'Source Sans Pro', sans-serif;
                font-size: 1rem;
                font-weight: 600;
                line-height: 1.1875rem;
                padding-left: 0; }
              .faqs .faq-section .the-faq-accordion .accordion .accordion-item .accordion-content table.chart-table tbody tr td.value {
                padding-left: 0;
                color: #696969;
                font-family: 'Source Sans Pro', sans-serif;
                font-size: 1rem;
                font-weight: 400;
                line-height: 1.1875rem; }
  .faqs .search-box {
    background: #ebebeb;
    padding: 1.875rem;
    margin-bottom: 1.875rem; }
    .faqs .search-box h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0 0 1.25rem 0;
      padding: 0; }
    .faqs .search-box form {
      position: relative;
      margin-bottom: 0; }
      .faqs .search-box form input {
        height: 3.125rem;
        line-height: 3.125rem;
        background: #fff;
        border: none;
        box-shadow: none;
        margin-bottom: 0; }
      .faqs .search-box form button {
        position: absolute;
        right: 1.25rem;
        top: 0.9375rem;
        margin-bottom: 0; }
        .faqs .search-box form button img {
          width: 1.175rem;
          height: 1.16875rem; }
      .faqs .search-box form:hover button {
        opacity: 0.7; }
  .faqs .filters-box {
    background: #ebebeb;
    padding: 1.875rem 1.875rem 0.9375rem 1.875rem;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .faqs .filters-box {
        margin-bottom: 0; } }
    .faqs .filters-box h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0 0 0 0;
      padding: 0 0 1.25rem 0;
      border-bottom: 0.125rem solid #dcdcdc; }
    .faqs .filters-box .filters-box-content .filters-accordion {
      list-style: none;
      margin: 0;
      padding: 0; }
      .faqs .filters-box .filters-box-content .filters-accordion .accordion-item {
        border-top: 0.125rem solid #dcdcdc;
        padding: 0.9375rem 0 0.9375rem 0; }
        .faqs .filters-box .filters-box-content .filters-accordion .accordion-item:first-child {
          border-top: none; }
        .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title {
          background: none;
          color: #298dff;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.1875rem;
          font-weight: 700;
          border: none;
          text-transform: uppercase;
          line-height: 1.4375rem;
          padding: 0;
          position: relative; }
          .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title[aria-expanded="true"] {
            color: #298dff; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
              background: url("../img/arrow-up-sb.svg") no-repeat center center;
              -ms-transform: rotate(180deg);
              /* IE 9 */
              -webkit-transform: rotate(180deg);
              /* Safari */
              transform: rotate(180deg); }
          .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title:before {
            background: url("../img/arrow-up-sb.svg") no-repeat center center;
            top: 0;
            content: '';
            width: 1.25rem;
            height: auto;
            margin-top: 0;
            position: absolute;
            bottom: 0;
            right: 0;
            background-size: 1.25rem 0.75rem;
            /* Safari */
            transition: all 0.2s; }
        .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content {
          background: none;
          border: none;
          padding: 0.9375rem 0 0 0; }
          .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item {
            padding: 0;
            margin-bottom: 0.125rem;
            /* checkbox aspect */
            /* checked mark aspect */
            /* checked mark aspect changes */
            /* disabled checkbox */
            /* accessibility */ }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item label {
              color: #696969;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1.1875rem;
              font-weight: 400;
              line-height: 1.4375rem; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked),
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked {
              position: absolute;
              left: -624.9375rem; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label,
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label {
              position: relative;
              padding-left: 1.5625rem;
              cursor: pointer;
              margin-left: 0; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label:before,
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label:before {
              content: '';
              position: absolute;
              left: 0;
              top: 2px;
              width: 1.0625rem;
              height: 1.0625rem;
              border: 0.125rem solid #696969;
              background: none; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label:after,
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label:after {
              content: '×';
              position: absolute;
              top: -0.6875rem;
              left: 0.15625rem;
              font-size: 1.5rem;
              color: #696969;
              line-height: 1.75;
              transition: all .2s; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label:after {
              opacity: 0;
              -webkit-transform: scale(0);
              -ms-transform: scale(0);
              transform: scale(0); }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label:after {
              opacity: 1;
              -webkit-transform: scale(1);
              -ms-transform: scale(1);
              transform: scale(1); }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled:not(:checked) + label:before,
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled:checked + label:before {
              box-shadow: none;
              border-color: #bbb;
              background-color: #ddd; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled:checked + label:after {
              color: #999; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled + label {
              color: #aaa; }
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked:focus + label:before,
            .faqs .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked):focus + label:before {
              border: 1px solid #fff; }

.partner-program {
  padding: 1.875rem 0 1.875rem 0;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .partner-program {
      padding: 1.875rem 0 3.75rem 0; } }
  .partner-program .page-title h1 {
    margin-bottom: 1rem;
    line-height: 2.8125rem;
    font-size: 2.5rem;
    font-weight: 400;
    color: #1b4886; }
    @media print, screen and (min-width: 40em) {
      .partner-program .page-title h1 {
        line-height: 3.75rem;
        font-size: 3.75rem; } }
  .partner-program .page-intro {
    margin-bottom: 1.25rem; }
    .partner-program .page-intro p {
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      font-weight: 400;
      color: #696969;
      margin-bottom: 1.875rem; }
      .partner-program .page-intro p strong {
        font-weight: 600; }
      .partner-program .page-intro p:empty {
        display: none; }
  .partner-program .cta-button .become-partner {
    display: block;
    text-align: center;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 600;
    background: #1b4886;
    border-radius: 3.125rem;
    height: 3.125rem;
    line-height: 3.125rem;
    color: #fff;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
    .partner-program .cta-button .become-partner:hover {
      background: #1b55b0; }

.partner-benefits .main-title {
  background: #298dff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .partner-benefits .main-title {
      background: #0d7eff;
      min-height: 5.625rem; } }
  .partner-benefits .main-title:after, .partner-benefits .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .partner-benefits .main-title:after, .partner-benefits .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .partner-benefits .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .partner-benefits .main-title:after {
        border-width: 1.875rem;
        margin-left: -1.875rem; } }
  .partner-benefits .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.125rem;
    margin-left: -1.125rem; }
    @media print, screen and (min-width: 64em) {
      .partner-benefits .main-title:before {
        border-width: 2.25rem;
        margin-left: -2.25rem; } }
  .partner-benefits .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .partner-benefits .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.partner-benefits .partner-content {
  background: #298dff;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .partner-benefits .partner-content {
      padding-top: 2.8125rem;
      padding-bottom: 3.75rem; } }
  .partner-benefits .partner-content .intro-text {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 2rem;
    font-weight: 300;
    line-height: 2.5rem;
    margin-top: 0;
    margin-bottom: 1.875rem;
    text-align: left; }
    @media print, screen and (min-width: 64em) {
      .partner-benefits .partner-content .intro-text {
        font-size: 2.8125rem;
        line-height: 3.125rem;
        margin-bottom: 0; } }
  .partner-benefits .partner-content .benefit-list {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 400;
    line-height: 1.4375rem; }
    .partner-benefits .partner-content .benefit-list p {
      margin-bottom: 0.3125rem; }
    .partner-benefits .partner-content .benefit-list ul {
      margin-top: 0;
      margin-left: 1.0625rem; }
      .partner-benefits .partner-content .benefit-list ul li {
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        margin-bottom: 0.625rem; }

.partners-types .main-title {
  background: #f5f5f5;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .partners-types .main-title {
      background: #ebebeb;
      min-height: 5.625rem; } }
  .partners-types .main-title:after, .partners-types .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .partners-types .main-title:after, .partners-types .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .partners-types .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .partners-types .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .partners-types .main-title h5 {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.875rem;
    padding: 2.1875rem 0 0 0; }
    @media print, screen and (min-width: 64em) {
      .partners-types .main-title h5 {
        font-size: 1.5rem;
        line-height: 1.875rem; } }
  .partners-types .main-title p {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 400;
    line-height: 1.4375rem; }

.partners-types .partner-type-content {
  background: #f5f5f5;
  padding-top: 0;
  padding-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .partners-types .partner-type-content {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .partners-types .partner-type-content .comparison-table-container {
    position: relative;
    margin-top: 1.875rem; }
    .partners-types .partner-type-content .comparison-table-container:before {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .partners-types .partner-type-content .comparison-table-container:before {
          background: #fff;
          position: absolute;
          top: -1.875rem;
          bottom: -1.875rem;
          right: 0;
          width: 33%;
          display: block;
          content: '';
          z-index: 2;
          box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
    .partners-types .partner-type-content .comparison-table-container:after {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .partners-types .partner-type-content .comparison-table-container:after {
          background: #fff;
          position: absolute;
          top: -1.875rem;
          bottom: -1.875rem;
          right: calc(33% + 30px);
          width: 33%;
          display: block;
          content: '';
          z-index: 2;
          box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); } }
  .partners-types .partner-type-content .comparison-table-container-mobile {
    padding: 1.875rem 1.875rem 0.625rem 1.875rem;
    background: #fff;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem; }
  .partners-types .partner-type-content table.comparison-table {
    position: relative;
    z-index: 3; }
    .partners-types .partner-type-content table.comparison-table tbody {
      background: transparent; }
      .partners-types .partner-type-content table.comparison-table tbody tr {
        background: transparent; }
        .partners-types .partner-type-content table.comparison-table tbody tr td {
          vertical-align: middle;
          background-color: transparent;
          padding-top: 0.1875rem;
          padding-bottom: 0.1875rem;
          line-height: 1.2; }
          .partners-types .partner-type-content table.comparison-table tbody tr td:nth-child(2) {
            position: relative;
            right: 1.5625rem;
            padding-left: 1.875rem;
            padding-right: 1.875rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td:nth-child(3) {
            position: relative;
            right: 0;
            padding-left: 1.875rem;
            padding-right: 1.875rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-type-name h4 {
            color: #298dff;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1.1875rem;
            font-weight: 700;
            line-height: 1.4375rem;
            text-align: center; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-type-name p {
            color: #696969;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.1875rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-feature {
            color: #298dff;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.1875rem; }
            .partners-types .partner-type-content table.comparison-table tbody tr td.partner-feature:before {
              content: ' ';
              border-top: 0.125rem solid #dbdddc;
              display: block;
              position: relative;
              top: -0.625rem;
              right: 0.625rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-check {
            text-align: center; }
            .partners-types .partner-type-content table.comparison-table tbody tr td.partner-check .checked-feature {
              width: 0.7625rem;
              height: 0.80625rem;
              display: inline-block;
              background: url("../img/check-b.svg") no-repeat center center; }
            .partners-types .partner-type-content table.comparison-table tbody tr td.partner-check:before {
              content: ' ';
              border-top: 0.125rem solid #ebebeb;
              display: block;
              position: relative;
              top: -0.625rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-type-cta a {
            display: block;
            text-align: center;
            font-family: 'Source Sans Pro', sans-serif;
            line-height: 3.125rem;
            font-size: 1.1875rem;
            font-weight: 600;
            margin-top: 1.5625rem;
            color: #fff;
            height: 3.125rem;
            border-radius: 3.125rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-type-cta:before {
            content: ' ';
            border-top: 0.125rem solid #ebebeb;
            display: block;
            position: relative;
            top: -0.625rem; }
          .partners-types .partner-type-content table.comparison-table tbody tr td.partner-type-cta-empty:before {
            content: ' ';
            border-top: 0.125rem solid #dbdddc;
            display: block;
            position: relative;
            top: -0.625rem;
            right: 0.625rem; }
  .partners-types .partner-type-content table.comparison-table-mobile tbody {
    background: transparent; }
    .partners-types .partner-type-content table.comparison-table-mobile tbody tr {
      background: transparent; }
      .partners-types .partner-type-content table.comparison-table-mobile tbody tr td {
        background-color: transparent;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        line-height: 1.5; }
        .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-type-name h4 {
          color: #298dff;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.1875rem;
          font-weight: 700;
          line-height: 1.4375rem;
          text-align: center; }
        .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-type-name p {
          color: #696969;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1rem;
          font-weight: 600;
          line-height: 1.1875rem; }
        .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-feature {
          color: #298dff;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1rem;
          font-weight: 600;
          line-height: 1.1875rem;
          border-top: 0.125rem solid #ebebeb; }
        .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-check {
          text-align: left; }
          .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-check .checked-feature {
            width: 0.7625rem;
            height: 0.80625rem;
            display: inline-block;
            background: url("../img/check-b.svg") no-repeat center center; }
        .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-type-cta {
          border-top: 0.125rem solid #ebebeb;
          padding-top: 1.875rem; }
          .partners-types .partner-type-content table.comparison-table-mobile tbody tr td.partner-type-cta a {
            display: block;
            text-align: center;
            font-family: 'Source Sans Pro', sans-serif;
            line-height: 3.125rem;
            font-size: 1.1875rem;
            font-weight: 600;
            color: #fff;
            height: 3.125rem;
            border-radius: 3.125rem; }

.support-channels .main-title {
  background: #298dff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .support-channels .main-title {
      min-height: 5.625rem;
      background: #0d7eff; } }
  .support-channels .main-title:after, .support-channels .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .support-channels .main-title:after, .support-channels .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .support-channels .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 0.9375rem;
    margin-left: -0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .support-channels .main-title:after {
        border-width: 1.875rem;
        margin-left: -1.875rem; } }
  .support-channels .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.125rem;
    margin-left: -1.125rem; }
    @media print, screen and (min-width: 64em) {
      .support-channels .main-title:before {
        border-width: 2.25rem;
        margin-left: -2.25rem; } }
  .support-channels .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .support-channels .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.support-channels .channels {
  background: #298dff;
  padding-top: 0;
  padding-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .support-channels .channels {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .support-channels .channels .channel {
    background: #fff;
    padding: 2.5rem 1.875rem 0 1.875rem;
    text-align: center;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .support-channels .channels .channel {
        margin-bottom: 0; } }
    .support-channels .channels .channel .channel-icon {
      margin-bottom: 1.5625rem; }
      .support-channels .channels .channel .channel-icon img {
        height: 5.5625rem; }
    .support-channels .channels .channel .channel-details h3 {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.4375rem;
      margin-bottom: 0.625rem;
      text-align: left; }
    .support-channels .channels .channel .channel-details p {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      text-align: left;
      min-height: 4.9375rem; }
      .support-channels .channels .channel .channel-details p:empty {
        display: none; }
    .support-channels .channels .channel .channel-cta {
      height: 4.5625rem;
      line-height: 4.5625rem;
      text-align: right;
      border-top: 0.125rem solid #ebebeb; }
      .support-channels .channels .channel .channel-cta a {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        line-height: 1.5625rem;
        font-weight: 700;
        color: #696969; }
        .support-channels .channels .channel .channel-cta a img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }
        .support-channels .channels .channel .channel-cta a:hover {
          opacity: 0.7; }

.blog-page {
  padding: 3.75rem 0;
  background: #f5f5f5; }
  .blog-page .recent-posts .count {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    line-height: 1.75rem;
    font-weight: 700;
    color: #696969; }
  .blog-page .recent-posts h3.recent-posts-title {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    color: #696969;
    margin-bottom: -0.75rem; }
  .blog-page .recent-posts .post-item {
    padding: 1.75rem 0;
    border-bottom: 0.125rem solid #dcdcdc; }
    .blog-page .recent-posts .post-item .row {
      padding-left: 0;
      padding-right: 0; }
      @media print, screen and (min-width: 64em) {
        .blog-page .recent-posts .post-item .row {
          padding-left: 0;
          padding-right: 0; } }
    .blog-page .recent-posts .post-item .post-thumbnail {
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .blog-page .recent-posts .post-item .post-thumbnail {
          margin-bottom: 0; } }
      .blog-page .recent-posts .post-item .post-thumbnail img {
        height: auto;
        min-width: 100%; }
        @media print, screen and (min-width: 64em) {
          .blog-page .recent-posts .post-item .post-thumbnail img {
            height: 10rem;
            min-width: 100%; } }
        .blog-page .recent-posts .post-item .post-thumbnail img:hover {
          opacity: 0.8; }
    .blog-page .recent-posts .post-item .post-details h3 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin-bottom: 0; }
      .blog-page .recent-posts .post-item .post-details h3 a {
        color: #1b4886; }
        .blog-page .recent-posts .post-item .post-details h3 a:hover {
          color: #2D5F86; }
    .blog-page .recent-posts .post-item .post-details h5 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.1875rem;
      font-style: italic;
      color: #696969; }
    .blog-page .recent-posts .post-item .post-details p {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #696969;
      margin-bottom: 0.625rem; }
    .blog-page .recent-posts .post-item .post-details .read-more {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      line-height: 1.4375rem;
      font-weight: 700;
      color: #696969; }
      .blog-page .recent-posts .post-item .post-details .read-more img {
        width: 1.6875rem;
        height: 1.1625rem;
        margin-left: 0.375rem; }
      .blog-page .recent-posts .post-item .post-details .read-more:hover {
        opacity: 0.7; }
    .blog-page .recent-posts .post-item .row .medium-4 {
      padding-left: 1.25rem;
      padding-right: 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .blog-page .recent-posts .post-item .row .medium-4 {
          padding-left: 0.3125rem; } }
    .blog-page .recent-posts .post-item .row .medium-8 {
      padding-left: 1.25rem;
      padding-right: 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .blog-page .recent-posts .post-item .row .medium-8 {
          padding-right: 0; } }
  .blog-page .recent-posts .pagination .page-numbers {
    display: none; }
  .blog-page .recent-posts .pagination .next {
    display: block;
    text-align: center;
    color: #1b4886;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem; }
    .blog-page .recent-posts .pagination .next:hover {
      background: none;
      opacity: 0.7; }
    .blog-page .recent-posts .pagination .next:after {
      content: url("../img/arrow-up-b.svg");
      width: 1.3125rem;
      height: 0.8125rem;
      display: inline-block; }
  .blog-page .recent-posts .accordion .accordion-item .accordion-title {
    background: #1b4886;
    border: none;
    border-bottom: 0.125rem solid #f5f5f5;
    padding: 0.9375rem 3.125rem 0.9375rem 1.875rem; }
    .blog-page .recent-posts .accordion .accordion-item .accordion-title[aria-expanded="true"] {
      background: #ebebeb;
      border-bottom: 0.125rem solid #ebebeb; }
      .blog-page .recent-posts .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
        content: url("../img/arrow-up-b.svg");
        -ms-transform: rotate(180deg);
        /* IE 9 */
        -webkit-transform: rotate(180deg);
        /* Safari */
        transform: rotate(180deg); }
      .blog-page .recent-posts .accordion .accordion-item .accordion-title[aria-expanded="true"] h3, .blog-page .recent-posts .accordion .accordion-item .accordion-title[aria-expanded="true"] p {
        color: #1b4886; }
    .blog-page .recent-posts .accordion .accordion-item .accordion-title:before {
      content: url("../../images/zync/arrow-up-w.svg");
      width: 1.25rem;
      height: 0.75rem;
      top: 45%;
      right: 1.25rem;
      /* Safari */
      transition: all 0.2s; }
      @media print, screen and (min-width: 64em) {
        .blog-page .recent-posts .accordion .accordion-item .accordion-title:before {
          width: 1.9375rem;
          height: 1.1875rem; } }
    .blog-page .recent-posts .accordion .accordion-item .accordion-title h3 {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem; }
    .blog-page .recent-posts .accordion .accordion-item .accordion-title p {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      margin: 0; }
  .blog-page .recent-posts .accordion .accordion-item .accordion-content {
    background: #ebebeb;
    border: none;
    padding: 0 1.875rem 1.25rem 1.875rem; }
    .blog-page .recent-posts .accordion .accordion-item .accordion-content .features .feature {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #696969;
      margin-bottom: 0.3125rem; }
      .blog-page .recent-posts .accordion .accordion-item .accordion-content .features .feature strong {
        font-weight: 700; }
      .blog-page .recent-posts .accordion .accordion-item .accordion-content .features .feature a {
        color: #696969;
        text-decoration: underline; }
      .blog-page .recent-posts .accordion .accordion-item .accordion-content .features .feature .star {
        width: 0.875rem;
        height: 0.84375rem;
        display: inline-block;
        background: url("../img/star.svg") no-repeat center center;
        margin-right: 0;
        padding-right: 0; }
    .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box {
      margin-top: 1.875rem;
      padding-bottom: 1.875rem; }
      .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .intro {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 3.125rem;
        color: #6a8e2c;
        float: none;
        text-align: center; }
        @media print, screen and (min-width: 64em) {
          .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .intro {
            float: left;
            text-align: left; } }
      .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .cta {
        float: none; }
        @media print, screen and (min-width: 64em) {
          .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .cta {
            float: right; } }
        .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .cta a {
          width: 100%;
          height: 3.125rem;
          display: block;
          text-align: center;
          border-radius: 3.125rem;
          border: none;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.1875rem;
          line-height: 3.125rem;
          font-weight: 600;
          background: #6a8e2c;
          color: #fff;
          box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
          @media print, screen and (min-width: 64em) {
            .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .cta a {
              width: 23.25rem; } }
          .blog-page .recent-posts .accordion .accordion-item .accordion-content .accordion-cta-box .cta a:hover {
            background: #1f6e08; }
  .blog-page .search-box {
    background: #ebebeb;
    padding: 1.25rem;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .blog-page .search-box {
        padding: 1.875rem; } }
    .blog-page .search-box h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0 0 1.25rem 0;
      padding: 0; }
    .blog-page .search-box form {
      position: relative;
      margin-bottom: 0; }
      .blog-page .search-box form input {
        height: 3.125rem;
        line-height: 3.125rem;
        background: #fff;
        border: none;
        box-shadow: none;
        margin-bottom: 0; }
      .blog-page .search-box form button {
        position: absolute;
        right: 0.9375rem;
        top: 0.9375rem;
        margin-bottom: 0; }
        .blog-page .search-box form button img {
          width: 1.175rem;
          height: 1.16875rem; }
      .blog-page .search-box form:hover button {
        opacity: 0.7; }
  .blog-page .filters-box {
    background: #ebebeb;
    padding: 1.25rem 1.25rem 0 1.25rem;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .blog-page .filters-box {
        padding: 1.875rem 1.875rem 0 1.875rem; } }
    .blog-page .filters-box h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0 0 0 0;
      padding: 0 0 0.9375rem 0;
      border-bottom: 0.125rem solid #dcdcdc; }
    .blog-page .filters-box .filters-box-content .filters-accordion {
      list-style: none;
      margin: 0;
      padding: 0; }
      .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item {
        padding: 0.9375rem 0 0.9375rem 0;
        border-top: 0.125rem solid #dcdcdc; }
        .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item:first-child {
          border-top: none; }
        .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title {
          background: none;
          color: #298dff;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.1875rem;
          font-weight: 700;
          border: none;
          text-transform: uppercase;
          line-height: 1.4375rem;
          padding: 0;
          position: relative; }
          .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title[aria-expanded="true"] {
            color: #298dff; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
              background: url("../img/arrow-up-sb.svg") no-repeat center center;
              -ms-transform: rotate(180deg);
              /* IE 9 */
              -webkit-transform: rotate(180deg);
              /* Safari */
              transform: rotate(180deg); }
          .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-title:before {
            background: url("../img/arrow-up-sb.svg") no-repeat center center;
            top: 0;
            content: '';
            width: 1.25rem;
            height: auto;
            margin-top: 0;
            position: absolute;
            bottom: 0;
            right: 0;
            background-size: 1.25rem 0.75rem;
            /* Safari */
            transition: all 0.2s; }
        .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content {
          background: none;
          border: none;
          padding: 0.9375rem 0 0 0;
          margin: 0; }
          .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item {
            margin-bottom: 0.125rem;
            /* checkbox aspect */
            /* checked mark aspect */
            /* checked mark aspect changes */
            /* disabled checkbox */
            /* accessibility */ }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item label {
              color: #696969;
              font-family: 'Source Sans Pro', sans-serif;
              font-size: 1.1875rem;
              font-weight: 400;
              line-height: 1.4375rem;
              margin-left: 0; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked),
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked {
              position: absolute;
              left: -624.9375rem; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label,
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label {
              position: relative;
              padding-left: 1.5625rem;
              cursor: pointer; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label:before,
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label:before {
              content: '';
              position: absolute;
              left: 0;
              top: 2px;
              width: 1.0625rem;
              height: 1.0625rem;
              border: 0.125rem solid #696969;
              background: none; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label:after,
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label:after {
              content: '×';
              position: absolute;
              top: -0.125rem;
              left: 0.1rem;
              font-size: 1.625rem;
              font-weight: bold;
              color: #696969;
              transition: all .2s; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked) + label:after {
              opacity: 0;
              -webkit-transform: scale(0);
              -ms-transform: scale(0);
              transform: scale(0); }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked + label:after {
              opacity: 1;
              -webkit-transform: scale(1);
              -ms-transform: scale(1);
              transform: scale(1); }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled:not(:checked) + label:before,
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled:checked + label:before {
              box-shadow: none;
              border-color: #bbb;
              background-color: #ddd; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled:checked + label:after {
              color: #999; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:disabled + label {
              color: #aaa; }
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:checked:focus + label:before,
            .blog-page .filters-box .filters-box-content .filters-accordion .accordion-item .accordion-content .filter-item [type="checkbox"]:not(:checked):focus + label:before {
              border: 1px solid #fff; }
  .blog-page .archives-box {
    background: #ebebeb;
    padding: 1.25rem 1.25rem 0.3125rem 1.25rem;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .blog-page .archives-box {
        padding: 1.875rem 1.875rem 0.3125rem 1.875rem; } }
    .blog-page .archives-box h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0;
      padding: 0 0 0.9375rem 0; }
    .blog-page .archives-box .archives-box-content .filter-item {
      margin-bottom: 0.625rem;
      /* checkbox aspect */
      /* checked mark aspect */
      /* checked mark aspect changes */
      /* disabled checkbox */
      /* accessibility */ }
      .blog-page .archives-box .archives-box-content .filter-item label {
        color: #696969;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        margin-left: 0; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:not(:checked),
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:checked {
        position: absolute;
        left: -624.9375rem; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:not(:checked) + label,
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:checked + label {
        position: relative;
        padding-left: 1.5625rem;
        cursor: pointer; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:not(:checked) + label:before,
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:checked + label:before {
        content: '';
        position: absolute;
        left: 0;
        top: 2px;
        width: 1.0625rem;
        height: 1.0625rem;
        border: 0.125rem solid #696969;
        background: none; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:not(:checked) + label:after,
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:checked + label:after {
        content: '×';
        position: absolute;
        top: -0.125rem;
        left: 0.1rem;
        font-size: 1.625rem;
        font-weight: bold;
        color: #696969;
        transition: all .2s; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:not(:checked) + label:after {
        opacity: 0;
        -webkit-transform: scale(0);
        -ms-transform: scale(0);
        transform: scale(0); }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:checked + label:after {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1); }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:disabled:not(:checked) + label:before,
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:disabled:checked + label:before {
        box-shadow: none;
        border-color: #bbb;
        background-color: #ddd; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:disabled:checked + label:after {
        color: #999; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:disabled + label {
        color: #aaa; }
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:checked:focus + label:before,
      .blog-page .archives-box .archives-box-content .filter-item [type="checkbox"]:not(:checked):focus + label:before {
        border: 1px solid #fff; }

.single-post-page {
  background: #f5f5f5;
  padding: 1.875rem 0 5rem 0; }
  .single-post-page .margin-top {
    margin-top: 0.9375rem; }
  .single-post-page .single-post h1 {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 2.8125rem;
    color: #1b4886; }
    @media print, screen and (min-width: 64em) {
      .single-post-page .single-post h1 {
        line-height: 3.75rem;
        font-size: 3.75rem; } }
  .single-post-page .single-post h5 {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.1875rem;
    color: #696969;
    font-style: italic; }
  .single-post-page .single-post-content .post-subtitle {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 600;
    line-height: 1.4375rem;
    color: #1b4886;
    margin-bottom: 1.875rem; }
  .single-post-page .single-post-content .post-image {
    margin-bottom: 1.875rem; }
  .single-post-page .single-post-content .post-boxed-paragraph {
    background: #fff;
    padding: 1.875rem;
    margin-bottom: 1.875rem; }
    .single-post-page .single-post-content .post-boxed-paragraph > h3 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 700;
      line-height: 1.4375rem;
      color: #1b4886;
      text-transform: uppercase; }
    .single-post-page .single-post-content .post-boxed-paragraph .boxed-paragraph-content ul {
      margin-bottom: 0;
      padding-bottom: 0; }
      .single-post-page .single-post-content .post-boxed-paragraph .boxed-paragraph-content ul li {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        color: #696969;
        margin-top: 0.625rem; }
  .single-post-page .single-post-content .post-plain-paragraph {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 400;
    line-height: 1.4375rem;
    color: #696969;
    margin-bottom: 1.875rem; }
    .single-post-page .single-post-content .post-plain-paragraph p {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      color: #696969; }
    .single-post-page .single-post-content .post-plain-paragraph h3 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 700;
      line-height: 1.4375rem;
      color: #1b4886;
      text-transform: uppercase; }
    .single-post-page .single-post-content .post-plain-paragraph h4 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 700;
      line-height: 1.4375rem;
      color: #696969; }
  .single-post-page .single-post-content .post-quote-box {
    width: 100%;
    margin: 0 auto 1.875rem auto; }
    @media print, screen and (min-width: 64em) {
      .single-post-page .single-post-content .post-quote-box {
        width: 85%; } }
    .single-post-page .single-post-content .post-quote-box p {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.875rem;
      font-weight: 300;
      line-height: 2.1875rem;
      color: #298dff; }
      @media print, screen and (min-width: 64em) {
        .single-post-page .single-post-content .post-quote-box p {
          line-height: 3.125rem;
          font-size: 2.8125rem; } }
    .single-post-page .single-post-content .post-quote-box h5 {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      line-height: 1.4375rem;
      color: #298dff; }
  .single-post-page .related {
    background: #ebebeb;
    padding: 1.875rem;
    margin-bottom: 1.875rem;
    margin-top: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .single-post-page .related {
        margin-top: 0; } }
    .single-post-page .related h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0;
      padding: 0 0 1.25rem 0; }
    .single-post-page .related ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .single-post-page .related ul li {
        border-top: 0.125rem solid #dcdcdc;
        padding: 1.25rem 0;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        line-height: 1.4375rem; }
        .single-post-page .related ul li a {
          color: #298dff; }
          .single-post-page .related ul li a:hover {
            color: #1b4886; }

.share {
  border-top: 0.125rem solid #dcdcdc;
  padding-top: 1.25rem; }
  .share span {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #298dff;
    display: inline-block;
    margin-right: 0.625rem;
    float: left; }
  .share .attachment {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #298dff;
    display: block;
    margin-left: 0;
    float: none;
    clear: both; }
    .share .attachment img {
      width: 1.225rem;
      height: 1.66875rem;
      margin-left: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .share .attachment {
        float: left;
        display: inline-block;
        margin-left: 2.5rem;
        clear: none; } }
    .share .attachment:hover {
      color: #195599; }
      .share .attachment:hover img {
        -webkit-filter: brightness(60%);
        filter: brightness(60%); }
  .share ul {
    list-style: none;
    display: inline;
    margin: 0;
    padding: 0;
    float: none; }
    @media print, screen and (min-width: 40em) {
      .share ul {
        float: left; } }
    .share ul li {
      display: inline-block;
      margin: 0 0.625rem; }
      .share ul li a:hover img {
        -webkit-filter: brightness(60%);
        filter: brightness(60%); }
      .share ul li a.twitter img {
        width: 1.70125rem;
        height: 1.43687rem;
        margin-top: 0.25rem; }
      .share ul li a.facebook img {
        width: 0.79375rem;
        height: 1.70125rem; }
      .share ul li a.linkedin img {
        width: 1.70125rem;
        height: 1.70125rem; }
      .share ul li a.email img {
        width: 1.8375rem;
        height: 1.26125rem;
        margin-top: 0.425rem; }

.contact-channels .main-title {
  background: #298dff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .contact-channels .main-title {
      background: #0d7eff;
      min-height: 5.625rem; } }
  .contact-channels .main-title:after, .contact-channels .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .contact-channels .main-title:after, .contact-channels .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .contact-channels .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .contact-channels .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .contact-channels .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .contact-channels .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.contact-channels .channels {
  background: #298dff;
  padding-top: 0;
  padding-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .contact-channels .channels {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .contact-channels .channels .channel {
    background: #fff;
    padding: 2.5rem 1.875rem 0 1.875rem;
    text-align: center;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .contact-channels .channels .channel {
        margin-bottom: 0; } }
    .contact-channels .channels .channel .channel-icon {
      margin-bottom: 1.5625rem; }
      .contact-channels .channels .channel .channel-icon img {
        height: 5.5625rem; }
    .contact-channels .channels .channel .channel-details h3 {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.4375rem;
      margin-bottom: 0.625rem;
      text-align: left; }
    .contact-channels .channels .channel .channel-details p {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      text-align: left;
      min-height: 4.9375rem; }
      .contact-channels .channels .channel .channel-details p:empty {
        display: none; }
      .contact-channels .channels .channel .channel-details p a {
        color: #696969;
        text-decoration: underline; }
        .contact-channels .channels .channel .channel-details p a:hover {
          color: #999; }
    .contact-channels .channels .channel .channel-cta {
      height: 4.5625rem;
      line-height: 4.5625rem;
      text-align: right;
      border-top: 0.125rem solid #ebebeb; }
      .contact-channels .channels .channel .channel-cta a {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        line-height: 1.5625rem;
        font-weight: 700;
        color: #696969; }
        .contact-channels .channels .channel .channel-cta a img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }
        .contact-channels .channels .channel .channel-cta a:hover {
          opacity: 0.7; }

.contact-map .main-title {
  background: #f5f5f5;
  min-height: auto;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .contact-map .main-title {
      background: #ebebeb;
      min-height: 5.625rem;
      position: relative; } }
  .contact-map .main-title:after, .contact-map .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .contact-map .main-title:after, .contact-map .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .contact-map .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .contact-map .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .contact-map .main-title h5 {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .contact-map .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.contact-map .sections {
  background: #f5f5f5;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .contact-map .sections {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .contact-map .sections .section {
    background: #ebebeb;
    padding: 1.875rem;
    padding-bottom: 0; }
    .contact-map .sections .section:last-child {
      margin-top: 1.875rem;
      margin-bottom: 1.875rem; }
      @media print, screen and (min-width: 64em) {
        .contact-map .sections .section:last-child {
          margin-top: 1.875rem;
          margin-bottom: 0; } }
    .contact-map .sections .section .section-details h3 {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.4375rem;
      margin-bottom: 0.75rem; }
    .contact-map .sections .section .section-details p {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      margin-bottom: 1.5rem; }
    .contact-map .sections .section .section-cta {
      text-align: right;
      border-top: 0.125rem solid #dcdcdc;
      height: 4.5625rem;
      line-height: 4.5625rem; }
      .contact-map .sections .section .section-cta a {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        line-height: 1.5625rem;
        font-weight: 700;
        color: #696969; }
        .contact-map .sections .section .section-cta a img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }
        .contact-map .sections .section .section-cta a:hover {
          opacity: 0.7; }
  .contact-map .sections .the-map iframe {
    height: 25rem; }
    @media print, screen and (min-width: 64em) {
      .contact-map .sections .the-map iframe {
        height: auto; } }

.swycd-plans .main-title {
  background: #0d7eff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .swycd-plans .main-title {
      min-height: 5.625rem; } }
  .swycd-plans .main-title:after, .swycd-plans .main-title:before {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .swycd-plans .main-title:after, .swycd-plans .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .swycd-plans .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .swycd-plans .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .swycd-plans .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .swycd-plans .main-title h5 {
        font-size: 1.5rem;
        line-height: 1.5rem;
        padding-top: 1.875rem;
        padding-bottom: 0; } }
  .swycd-plans .main-title p {
    color: #fff;
    font-size: 1.1875rem;
    line-height: 1.4375rem;
    font-weight: 400; }

.swycd-plans .plans {
  background: #298dff;
  padding-top: 1.875rem;
  padding-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .swycd-plans .plans {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .swycd-plans .plans .plan {
    background: #fff;
    padding: 1.875rem;
    box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2);
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .swycd-plans .plans .plan {
        margin-bottom: 0; } }
    .swycd-plans .plans .plan h3 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.4375rem;
      margin: 0 0 0.625rem 0; }
    .swycd-plans .plans .plan h4 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 700;
      line-height: 1.625rem;
      margin: 0; }
    .swycd-plans .plans .plan h5 {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      margin: 0; }
    .swycd-plans .plans .plan p {
      color: #298dff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem;
      margin: 0.625rem 0 0.9375rem 0; }
      .swycd-plans .plans .plan p:empty {
        display: none; }
      .swycd-plans .plans .plan p > a {
        color: #298dff; }
    .swycd-plans .plans .plan .features {
      list-style: none;
      margin: 0;
      padding: 0; }
      .swycd-plans .plans .plan .features li {
        position: relative;
        color: #298dff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        padding: 0.3125rem 0.9375rem;
        border-bottom: 0.125rem solid #ebebeb; }
        .swycd-plans .plans .plan .features li:first-child {
          border-top: 0.125rem solid #ebebeb; }
        .swycd-plans .plans .plan .features li img {
          position: absolute;
          left: -1.25rem;
          top: 0.75rem;
          width: 0.75rem;
          height: 0.75rem; }
    .swycd-plans .plans .plan .demo,
    .swycd-plans .plans .plan .buy-now {
      display: block;
      text-align: center;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      background: #298dff;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      color: #fff;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
      .swycd-plans .plans .plan .demo:hover,
      .swycd-plans .plans .plan .buy-now:hover {
        background: #1b4886; }
      .swycd-plans .plans .plan .demo.demo,
      .swycd-plans .plans .plan .buy-now.demo {
        margin-top: 1.875rem;
        background: #fff;
        border: 0.125rem solid #298dff;
        color: #298dff;
        box-shadow: none;
        margin-bottom: 1.25rem; }
        .swycd-plans .plans .plan .demo.demo:hover,
        .swycd-plans .plans .plan .buy-now.demo:hover {
          background: #fff;
          border: 0.125rem solid #1b4886;
          color: #1b4886; }

.swycd-plans .plans-mobile {
  background: #0d7eff;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .swycd-plans .plans-mobile {
      padding-left: 1.875rem;
      padding-right: 1.875rem; } }
  .swycd-plans .plans-mobile .accordion .accordion-item {
    border-bottom: 0.125rem solid #0d7eff; }
    .swycd-plans .plans-mobile .accordion .accordion-item .accordion-title {
      background: #298dff;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      border: none;
      position: relative;
      height: 4.875rem;
      line-height: 4.875rem;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 1.875rem; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #298dff;
        color: #fff; }
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 40em) {
          .swycd-plans .plans-mobile .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
    .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content {
      background: #298dff;
      border: none;
      padding: 1.875rem;
      padding-top: 0; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content h3 {
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.4375rem;
        margin: 0 0 0.625rem 0; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content h4 {
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.625rem;
        margin: 0; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content h5 {
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        margin: 0; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content p {
        color: #fff;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 400;
        line-height: 1.4375rem;
        min-height: 5rem;
        margin: 0.625rem 0 0.9375rem 0; }
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content p:empty {
          display: none; }
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content p > a {
          color: #298dff; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .features {
        list-style: none;
        margin: 0;
        padding: 0; }
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .features li {
          position: relative;
          color: #fff;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.1875rem;
          font-weight: 400;
          line-height: 1.4375rem;
          padding: 0.3125rem 0.9375rem;
          border-bottom: 0.125rem solid #1D81FB; }
          .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .features li:first-child {
            border-top: 0.125rem solid #1D81FB; }
          .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .features li img {
            position: absolute;
            left: -1.25rem;
            top: 0.75rem;
            width: 0.75rem;
            height: 0.75rem; }
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .demo,
      .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .buy-now {
        display: block;
        text-align: center;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        background: #fff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #298dff;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .demo:hover,
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .buy-now:hover {
          color: #1b4886; }
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .demo.demo,
        .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .buy-now.demo {
          margin-top: 1.875rem;
          background: #298dff;
          border: 0.125rem solid #fff;
          color: #fff;
          box-shadow: none;
          margin-bottom: 1.25rem; }
          .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .demo.demo:hover,
          .swycd-plans .plans-mobile .accordion .accordion-item .accordion-content .buy-now.demo:hover {
            background: #298dff;
            border: 0.125rem solid #eee;
            color: #eee; }

.movr-title-wrapper {
  padding: 1.875rem 0; }
  .movr-title-wrapper .movr-title h1 {
    line-height: 2.8125rem;
    font-size: 2.5rem;
    font-weight: 400;
    color: #1b4886; }
    @media print, screen and (min-width: 64em) {
      .movr-title-wrapper .movr-title h1 {
        line-height: 3.75rem;
        font-size: 3.75rem; } }

.movr-intro {
  padding-bottom: 3.125rem;
  position: relative; }
  .movr-intro .movr-details {
    margin-bottom: 1.875rem; }
    .movr-intro .movr-details p {
      font-family: 'Source Sans Pro', sans-serif;
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      font-weight: 600;
      color: #1b4886;
      margin: 0; }
      .movr-intro .movr-details p strong {
        font-weight: 600; }
  .movr-intro .movr-cta {
    width: auto; }
    @media print, screen and (min-width: 64em) {
      .movr-intro .movr-cta {
        width: 30.9375rem; } }
    .movr-intro .movr-cta a {
      display: block;
      text-align: center;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      margin-bottom: 1.25rem;
      border-radius: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      color: #fff;
      box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }

.report-highlights .main-title {
  background: #0d7eff;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .report-highlights .main-title {
      min-height: 5.625rem; } }
  .report-highlights .main-title:after, .report-highlights .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .report-highlights .main-title:after, .report-highlights .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .report-highlights .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .report-highlights .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #0d7eff;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .report-highlights .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .report-highlights .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.report-highlights .highlights {
  background: #298dff;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .report-highlights .highlights {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .report-highlights .highlights .col-text {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 400; }
    .report-highlights .highlights .col-text p {
      line-height: 1.4375rem;
      padding-left: 1.25rem; }
    .report-highlights .highlights .col-text ul li {
      line-height: 1.4375rem;
      margin-bottom: 0.9375rem; }
  .report-highlights .highlights .movr-sub-form {
    margin-top: 1.875rem;
    margin-bottom: 0; }
    .report-highlights .highlights .movr-sub-form .movr-subscription-form-label {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.125rem;
      font-weight: 700;
      line-height: 1.5rem;
      float: none;
      text-align: center;
      margin-bottom: 0.9375rem; }
      @media print, screen and (min-width: 64em) {
        .report-highlights .highlights .movr-sub-form .movr-subscription-form-label {
          line-height: 3.125rem;
          float: right;
          font-size: 1.5rem;
          text-align: right;
          margin: 0; } }

.movr-widget .highlights .movr-sub-form {
  margin-top: 0; }

.current-report .main-title {
  background: #1b4886;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .current-report .main-title {
      background: #153c6a;
      min-height: 5.625rem; } }
  .current-report .main-title:after, .current-report .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .current-report .main-title:after, .current-report .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .current-report .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #153c6a;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .current-report .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #153c6a;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .current-report .main-title h5 {
    color: #fff;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .current-report .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.current-report .reports {
  background: #1b4886;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .current-report .reports {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .current-report .reports .columns {
    border-top: 0.125rem solid #153c6a;
    border-left: none; }
    .current-report .reports .columns:first-child {
      border-top: none;
      border-left: none; }
    @media print, screen and (min-width: 64em) {
      .current-report .reports .columns {
        border-left: 0.125rem solid #153c6a;
        border-top: none; }
        .current-report .reports .columns:first-child {
          border-left: none;
          border-top: none; } }
  .current-report .reports .report {
    padding: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .current-report .reports .report {
        padding: 0 1.875rem; } }
    .current-report .reports .report .report-title {
      min-height: auto;
      margin-bottom: 0;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif; }
      @media print, screen and (min-width: 64em) {
        .current-report .reports .report .report-title {
          min-height: 13.75rem;
          margin-bottom: 1.25rem; } }
      .current-report .reports .report .report-title h3 {
        font-size: 1.5rem;
        line-height: 1.625rem;
        font-weight: 700; }
      .current-report .reports .report .report-title p {
        font-size: 1.1875rem;
        line-height: 1.4375rem;
        font-weight: 400; }
    .current-report .reports .report .report-cta {
      text-align: right; }
      .current-report .reports .report .report-cta a {
        color: #fff;
        font-size: 1.1875rem;
        line-height: 1.4375rem;
        font-weight: 600; }
        .current-report .reports .report .report-cta a img {
          margin-left: 0.625rem; }
          .current-report .reports .report .report-cta a img.view {
            height: 1.1625rem;
            width: 1.6875rem; }
          .current-report .reports .report .report-cta a img.download {
            height: 1.1625rem; }
        .current-report .reports .report .report-cta a:hover {
          opacity: 0.7; }

.current-report .reports-mobile {
  background: #1b4886;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .current-report .reports-mobile {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .current-report .reports-mobile .accordion .accordion-item {
    border-bottom: 0.125rem solid #1b4886; }
    .current-report .reports-mobile .accordion .accordion-item .accordion-title {
      background: #183D68;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.3125rem;
      font-weight: 700;
      border: none;
      height: auto;
      line-height: 1.75rem;
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem;
      padding-left: 1.25rem;
      padding-right: 3.125rem;
      overflow: hidden;
      position: relative; }
      @media print, screen and (min-width: 64em) {
        .current-report .reports-mobile .accordion .accordion-item .accordion-title {
          height: 4.875rem;
          line-height: 4.875rem;
          font-size: 1.5rem;
          padding-top: 0;
          padding-bottom: 0; } }
      .current-report .reports-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #183D68;
        border-bottom: 0.125rem solid #183D68; }
        .current-report .reports-mobile .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
      .current-report .reports-mobile .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 40em) {
          .current-report .reports-mobile .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
    .current-report .reports-mobile .accordion .accordion-item .accordion-content {
      background: #183D68;
      border: none;
      color: #fff;
      padding: 1.875rem 1.25rem;
      padding-top: 0;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 400;
      line-height: 1.4375rem; }
      .current-report .reports-mobile .accordion .accordion-item .accordion-content a {
        font-size: 1.1875rem;
        font-weight: 700;
        display: block;
        color: #fff;
        text-align: right;
        position: relative;
        right: 0; }
        .current-report .reports-mobile .accordion .accordion-item .accordion-content a img {
          margin-left: 0.3125rem; }
          .current-report .reports-mobile .accordion .accordion-item .accordion-content a img.download {
            width: 1.0375rem; }
          .current-report .reports-mobile .accordion .accordion-item .accordion-content a img.view {
            width: 1.56875rem;
            height: 1.225rem; }

.previous-report .main-title {
  background: #f5f5f5;
  min-height: auto;
  text-align: center;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .previous-report .main-title {
      background: #ebebeb;
      min-height: 5.625rem; } }
  .previous-report .main-title:after, .previous-report .main-title:before {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .previous-report .main-title:after, .previous-report .main-title:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        display: block; } }
  .previous-report .main-title:after {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 1.875rem;
    margin-left: -1.875rem; }
  .previous-report .main-title:before {
    border-color: rgba(21, 60, 106, 0);
    border-top-color: #ebebeb;
    border-width: 2.25rem;
    margin-left: -2.25rem; }
  .previous-report .main-title h5 {
    color: #696969;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.25rem;
    padding: 0.625rem; }
    @media print, screen and (min-width: 64em) {
      .previous-report .main-title h5 {
        font-size: 1.5rem;
        line-height: 4.375rem;
        padding: 0.625rem; } }

.previous-report .reports {
  background: #f5f5f5;
  padding-top: 0;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 64em) {
    .previous-report .reports {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  .previous-report .reports .copying-notes {
    margin-top: 0.9375rem; }
    .previous-report .reports .copying-notes p {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 0.875rem;
      line-height: 1.0625rem;
      font-weight: 400;
      margin-bottom: 0.75rem; }
    .previous-report .reports .copying-notes strong {
      color: #696969;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 0.875rem;
      line-height: 1.0625rem;
      font-weight: 700; }
  .previous-report .reports .years .year h3 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.625rem;
    color: #696969; }
  .previous-report .reports .years .year .report-accordion .accordion .accordion-item {
    border-bottom: 0.125rem solid #f5f5f5; }
    .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-title {
      background: #1b4886;
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.3125rem;
      font-weight: 700;
      border: none;
      position: relative;
      height: auto;
      line-height: 1.75rem;
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem;
      padding-left: 1.875rem; }
      @media print, screen and (min-width: 64em) {
        .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-title {
          height: 3.75rem;
          line-height: 3.75rem;
          font-size: 1.5rem;
          padding-top: 0;
          padding-bottom: 0; } }
      .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"] {
        background: #ebebeb;
        color: #1b4886;
        border-bottom: 0.125rem solid #ebebeb; }
        .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
          background: url("../img/arrow-up-b.svg") no-repeat center center;
          -ms-transform: rotate(180deg);
          /* IE 9 */
          -webkit-transform: rotate(180deg);
          /* Safari */
          transform: rotate(180deg); }
      .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-title:before {
        background: url("../../images/zync/arrow-up-w.svg") no-repeat center center;
        top: 0;
        content: '';
        width: 1.25rem;
        height: auto;
        margin-top: 0;
        position: absolute;
        bottom: 0;
        right: 1.875rem;
        background-size: 1.25rem 0.75rem;
        /* Safari */
        transition: all 0.2s; }
        @media print, screen and (min-width: 64em) {
          .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-title:before {
            width: 1.9375rem;
            background-size: 1.9375rem 1.1875rem; } }
    .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content {
      background: #ebebeb;
      border: none;
      padding: 0 1.875rem; }
      .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul {
        list-style: none;
        margin: 0;
        padding: 0; }
        .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul li {
          border-top: 0.125rem solid #ddd;
          font-size: 1.1875rem;
          font-weight: 600;
          line-height: 1.4375rem;
          padding: 0.9375rem 0; }
          .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul li a {
            display: block;
            color: #696969;
            position: relative; }
            .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul li a img {
              position: absolute;
              right: 0; }
              .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul li a img.download {
                width: 1.225rem;
                height: 1.66875rem; }
              .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul li a img.view {
                width: 1.56875rem;
                height: 1.225rem; }
            .previous-report .reports .years .year .report-accordion .accordion .accordion-item .accordion-content ul li a:hover {
              -webkit-filter: brightness(60%);
              filter: brightness(60%); }

.documentation {
  padding: 1.875rem 0 0 0; }
  .documentation .page-intro h1 {
    margin-bottom: 1.25rem;
    line-height: 2.8125rem;
    font-size: 2.5rem;
    font-weight: 400;
    color: #1b4886; }
    @media print, screen and (min-width: 64em) {
      .documentation .page-intro h1 {
        line-height: 3.75rem;
        font-size: 3.75rem; } }
  .documentation .page-documentation {
    padding-bottom: 3.125rem; }
    .documentation .page-documentation p {
      line-height: 1.4375rem;
      font-size: 1.1875rem;
      font-weight: 400;
      color: #696969; }
      .documentation .page-documentation p strong {
        font-weight: 600; }
      .documentation .page-documentation p:empty {
        display: none; }

.documentation-content {
  background: #f5f5f5;
  padding-top: 1.875rem;
  padding-bottom: 0; }
  @media print, screen and (min-width: 64em) {
    .documentation-content {
      padding-top: 3.75rem;
      padding-bottom: 1.875rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .documentation-content > .row > div:nth-of-type(2n+1) {
      clear: both; } }
  @media print, screen and (min-width: 64em) {
    .documentation-content > .row > div:nth-of-type(3n+1) {
      clear: both; } }
  .documentation-content .doc-block {
    background: #ebebeb;
    margin-bottom: 1.875rem;
    padding: 1.875rem;
    position: relative; }
    .documentation-content .doc-block .doc-block-content h3 {
      font-size: 1.5rem;
      line-height: 1.625rem;
      font-weight: 700;
      color: #298dff;
      padding-bottom: 0.625rem; }
    .documentation-content .doc-block .doc-block-content > ul {
      list-style: none;
      margin: 0 0 1.875rem 0;
      padding: 0 0 6.25rem 0; }
      .documentation-content .doc-block .doc-block-content > ul > li {
        border-top: 0.125rem solid #dcdcdc;
        text-transform: uppercase; }
        .documentation-content .doc-block .doc-block-content > ul > li > a {
          color: #298dff;
          position: relative;
          display: block;
          padding: 0.625rem 0;
          font-size: 1.1875rem;
          font-weight: 700; }
          .documentation-content .doc-block .doc-block-content > ul > li > a img {
            position: absolute;
            right: 0;
            top: 1.125rem; }
            .documentation-content .doc-block .doc-block-content > ul > li > a img.view {
              width: 1.56875rem;
              height: 1.225rem; }
            .documentation-content .doc-block .doc-block-content > ul > li > a img.download {
              width: 1.225rem;
              top: 0.8125rem; }
          .documentation-content .doc-block .doc-block-content > ul > li > a:hover {
            -webkit-filter: brightness(60%);
            filter: brightness(60%); }
        .documentation-content .doc-block .doc-block-content > ul > li .accordion {
          background: none;
          border: none; }
          .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-title {
            background: none;
            border: none;
            color: #298dff;
            position: relative;
            display: block;
            padding: 0.9375rem 1.875rem 0.9375rem 0;
            font-size: 1.1875rem;
            font-weight: 700;
            text-transform: uppercase; }
            .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-title[aria-expanded="true"] {
              background: none;
              color: #298dff; }
              .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-title[aria-expanded="true"]:before {
                -ms-transform: rotate(180deg);
                /* IE 9 */
                -webkit-transform: rotate(180deg);
                /* Safari */
                transform: rotate(180deg); }
            .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-title:before {
              background: url("../img/arrow-up-sb.svg") no-repeat center center;
              top: 0;
              content: '';
              width: 1.25rem;
              height: auto;
              margin-top: 0;
              position: absolute;
              bottom: 0;
              right: 0;
              background-size: 1.25rem 0.75rem;
              /* Safari */
              transition: all 0.2s; }
              @media print, screen and (min-width: 64em) {
                .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-title:before {
                  width: 1.5rem;
                  background-size: 1.5rem 0.875rem; } }
            .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-title:hover {
              -webkit-filter: brightness(60%);
              filter: brightness(60%); }
          .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content {
            background: none;
            border: none;
            padding: 0; }
            .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul {
              list-style: none;
              margin: 0;
              padding: 0; }
              .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li {
                border-top: 0.125rem solid #dcdcdc; }
                .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li > a {
                  color: #696969;
                  position: relative;
                  display: block;
                  padding: 0.625rem 1.875rem 0 0;
                  font-size: 1.1875rem;
                  font-weight: 400; }
                  .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li > a img {
                    position: absolute;
                    right: 0;
                    top: 1.125rem; }
                    .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li > a img.view {
                      width: 1.56875rem;
                      height: 1.225rem; }
                    .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li > a img.download {
                      width: 1.225rem;
                      top: 0.8125rem; }
                  .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li > a:hover {
                    -webkit-filter: brightness(60%);
                    filter: brightness(60%); }
                .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li a {
                  color: #696969;
                  font-weight: 400; }
                  .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li a:before {
                    background: url("../img/arrow-down-g.svg") no-repeat center center; }
                .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li .accordion-content {
                  text-transform: none; }
                  .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li .accordion-content p {
                    text-transform: none;
                    color: #696969; }
                    .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li .accordion-content p a {
                      color: #696969;
                      text-decoration: underline; }
                  .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li .accordion-content ul {
                    margin-bottom: 0.9375rem; }
                    .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li .accordion-content ul li {
                      color: #696969;
                      border: none;
                      text-transform: none; }
                      .documentation-content .doc-block .doc-block-content > ul > li .accordion .accordion-item .accordion-content > ul > li ul.accordion li .accordion-content ul li a {
                        color: #696969; }
    .documentation-content .doc-block .doc-cta {
      position: absolute;
      bottom: 1.875rem;
      left: 0;
      right: 0; }
      .documentation-content .doc-block .doc-cta a {
        display: block;
        text-align: center;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        color: #fff;
        border-radius: 3.125rem;
        height: 3.125rem;
        line-height: 3.125rem;
        background: #298dff;
        margin: 0 1.875rem;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        .documentation-content .doc-block .doc-cta a:hover {
          background: #1b4886; }

.search-no-results .the-filter-contents {
  background: #3190FC; }

.the-filter-title {
  padding: 2.5rem 0; }
  .the-filter-title h1 {
    font-size: 2.8125rem;
    line-height: 3.125rem;
    font-weight: 400;
    color: #1b4886; }
    @media print, screen and (min-width: 64em) {
      .the-filter-title h1 {
        font-size: 3.75rem;
        line-height: 3.75rem; } }

.the-filter-contents {
  background: #f5f5f5;
  padding: 1.875rem 0; }
  .the-filter-contents .nothing-found {
    font-size: 1.625rem;
    line-height: 1.9375rem;
    text-align: center;
    font-weight: 700;
    color: #fff; }
  .the-filter-contents .searchform {
    position: relative; }
    .the-filter-contents .searchform label {
      font-size: 1rem;
      line-height: 1.1875rem;
      font-weight: 400;
      color: #fff;
      margin-bottom: 0.625rem; }
    .the-filter-contents .searchform input[type="text"] {
      width: 100%;
      display: inline;
      float: left;
      border: none;
      box-shadow: none;
      height: 3.125rem;
      padding-right: 9.375rem; }
      .the-filter-contents .searchform input[type="text"]:focus {
        border: none;
        box-shadow: none; }
    .the-filter-contents .searchform input[type="submit"] {
      width: 9.375rem;
      position: absolute;
      right: 0;
      text-align: center;
      display: inline;
      height: 3.125rem;
      line-height: 3.125rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      color: #fff;
      border: none;
      background: #1b4987 url("../img/search-icon-w.svg") no-repeat 90% center;
      background-size: 1.25rem 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .the-filter-contents .searchform input[type="submit"] {
          font-size: 1.5rem; } }
      .the-filter-contents .searchform input[type="submit"]:hover {
        opacity: 0.8;
        cursor: hand; }
  .the-filter-contents .filter-results {
    list-style: none;
    margin: 0;
    padding: 0; }
    .the-filter-contents .filter-results li {
      padding: 1.875rem 0;
      border-bottom: 0.125rem solid #ebebeb; }
      .the-filter-contents .filter-results li h3 {
        font-size: 1.875rem;
        line-height: 2.1875rem;
        font-weight: 700; }
        .the-filter-contents .filter-results li h3 a {
          color: #1b4886; }
          .the-filter-contents .filter-results li h3 a:hover {
            opacity: 0.7; }
        @media print, screen and (min-width: 64em) {
          .the-filter-contents .filter-results li h3 {
            font-size: 2.8125rem;
            line-height: 3.125rem; } }
      .the-filter-contents .filter-results li .the-date {
        font-size: 1rem;
        line-height: 1.1875rem;
        font-weight: 600;
        font-style: italic;
        color: #696969;
        margin-bottom: 0.625rem; }
      .the-filter-contents .filter-results li p {
        font-size: 1.1875rem;
        line-height: 1.4375rem;
        font-weight: 400;
        color: #696969; }
      .the-filter-contents .filter-results li .read-more {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        line-height: 1.4375rem;
        font-weight: 700;
        color: #696969; }
        .the-filter-contents .filter-results li .read-more img {
          width: 1.6875rem;
          height: 1.1625rem;
          margin-left: 0.375rem; }
        .the-filter-contents .filter-results li .read-more:hover {
          opacity: 0.7; }
  .the-filter-contents .pagination .page-numbers {
    display: none; }
  .the-filter-contents .pagination .next {
    display: block;
    text-align: center;
    color: #1b4886;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75rem; }
    .the-filter-contents .pagination .next:hover {
      background: none;
      opacity: 0.7; }
    .the-filter-contents .pagination .next:after {
      content: url("../img/arrow-up-b.svg");
      width: 1.3125rem;
      height: 0.8125rem;
      display: inline-block; }

.login-page {
  padding-top: 0; }
  @media print, screen and (min-width: 64em) {
    .login-page {
      padding-top: 3.75rem; } }
  .login-page .main-title {
    background: #298dff;
    min-height: auto;
    text-align: center;
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .login-page .main-title {
        background: #0d7eff; } }
    .login-page .main-title:after, .login-page .main-title:before {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .login-page .main-title:after, .login-page .main-title:before {
          top: 100%;
          left: 50%;
          border: solid transparent;
          content: " ";
          height: 0;
          width: 0;
          position: absolute;
          pointer-events: none;
          display: block; } }
    .login-page .main-title:after {
      border-color: rgba(21, 60, 106, 0);
      border-top-color: #0d7eff;
      border-width: 0.9375rem;
      margin-left: -0.9375rem; }
      @media print, screen and (min-width: 64em) {
        .login-page .main-title:after {
          border-width: 1.875rem;
          margin-left: -1.875rem; } }
    .login-page .main-title:before {
      border-color: rgba(21, 60, 106, 0);
      border-top-color: #0d7eff;
      border-width: 1.125rem;
      margin-left: -1.125rem; }
      @media print, screen and (min-width: 64em) {
        .login-page .main-title:before {
          border-width: 2.25rem;
          margin-left: -2.25rem; } }
    .login-page .main-title h5 {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.625rem;
      padding: 1.25rem 0 0.3125rem 0;
      margin: 0; }
      @media print, screen and (min-width: 64em) {
        .login-page .main-title h5 {
          font-size: 1.5rem;
          line-height: 1.875rem;
          padding: 1.25rem 0 1.25rem 0; } }
    .login-page .main-title p {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      line-height: 1.4375rem;
      margin-top: 0; }
      @media print, screen and (min-width: 64em) {
        .login-page .main-title p {
          margin-top: -0.9375rem; } }
      .login-page .main-title p:empty {
        display: none;
        margin: 0;
        padding: 0;
        height: 0; }
  .login-page .login-page-form {
    background: #298dff;
    padding-top: 1.25rem; }
    @media print, screen and (min-width: 64em) {
      .login-page .login-page-form {
        padding-top: 3.75rem; } }
    .login-page .login-page-form .tml-login .message {
      color: #fff;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.125rem;
      font-weight: 700;
      line-height: 1.5rem;
      margin-left: 0;
      text-align: center;
      background: none;
      border: none; }
    .login-page .login-page-form .tml-login .tml-user-login-wrap label {
      font-weight: 600;
      color: #fff;
      font-size: 1.1875rem;
      line-height: 1.4375rem; }
    .login-page .login-page-form .tml-login .tml-user-login-wrap input {
      box-shadow: none;
      border: none; }
    .login-page .login-page-form .tml-login .tml-user-pass-wrap label {
      font-weight: 600;
      color: #fff;
      font-size: 1.1875rem;
      line-height: 1.4375rem; }
    .login-page .login-page-form .tml-login .tml-user-pass-wrap input {
      box-shadow: none;
      border: none; }
    .login-page .login-page-form .tml-login .tml-action-links {
      float: right; }
      .login-page .login-page-form .tml-login .tml-action-links li a {
        font-weight: 600;
        color: #fff;
        font-size: 1.1875rem;
        line-height: 1.4375rem; }
        .login-page .login-page-form .tml-login .tml-action-links li a:after {
          content: '?'; }
        .login-page .login-page-form .tml-login .tml-action-links li a:hover {
          opacity: 0.7; }
    .login-page .login-page-form .tml-login .tml-submit-wrap {
      clear: both;
      display: block; }
      .login-page .login-page-form .tml-login .tml-submit-wrap input {
        display: block;
        width: 100%;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #fff;
        font-size: 1.1875rem;
        font-weight: 600;
        border-radius: 3.125rem;
        background: #1b4886;
        border: none;
        font-family: 'Source Sans Pro', sans-serif;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        .login-page .login-page-form .tml-login .tml-submit-wrap input:hover {
          background: #0a3a74;
          cursor: pointer; }
    .login-page .login-page-form .tml-login .tml-rememberme-wrap {
      float: left;
      /* checkbox aspect */
      /* checked mark aspect */
      /* checked mark aspect changes */
      /* disabled checkbox */
      /* accessibility */ }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap:hover {
        opacity: 0.7; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap label {
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        color: #fff; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked),
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked {
        position: absolute;
        left: -9999px; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked) + label,
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked + label {
        position: relative;
        padding-left: 1.5625rem;
        cursor: pointer; }
        @media print, screen and (min-width: 64em) {
          .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked) + label,
          .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked + label {
            padding-left: 2.1875rem; } }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked) + label:before,
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked + label:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.125rem;
        width: 1.25rem;
        height: 1.25rem;
        border: 2px solid #fff;
        background: none; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked) + label:after,
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked + label:after {
        content: '×';
        position: absolute;
        top: -0.875rem;
        left: 0.16875rem;
        font-size: 1.75rem;
        color: #fff;
        transition: all .2s; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked) + label:after {
        opacity: 0;
        -webkit-transform: scale(0);
        -ms-transform: scale(0);
        transform: scale(0); }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked + label:after {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1); }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:disabled:not(:checked) + label:before,
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:disabled:checked + label:before {
        box-shadow: none;
        border-color: #bbb;
        background-color: #ddd; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:disabled:checked + label:after {
        color: #999; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:disabled + label {
        color: #aaa; }
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:checked:focus + label:before,
      .login-page .login-page-form .tml-login .tml-rememberme-wrap [type="checkbox"]:not(:checked):focus + label:before {
        border: 1px solid #fff; }
  .login-page .tml {
    max-width: 100%; }
  .login-page .register-block {
    padding: 5rem 0; }
    .login-page .register-block .cta-text {
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 2.8125rem;
      font-weight: 300;
      line-height: 3.125rem;
      color: #1b4886;
      float: none;
      margin-left: 0;
      text-align: center; }
      @media print, screen and (min-width: 64em) {
        .login-page .register-block .cta-text {
          float: left;
          margin-left: -1.875rem;
          text-align: left;
          font-size: 3.75rem;
          line-height: 3.75rem; } }
    .login-page .register-block .cta-button {
      float: none;
      margin-top: 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .login-page .register-block .cta-button {
          float: right;
          margin-top: 0; } }
      .login-page .register-block .cta-button a {
        display: block;
        width: 100%;
        height: 3.125rem;
        line-height: 3.125rem;
        color: #fff;
        font-size: 1.1875rem;
        font-weight: 600;
        border-radius: 3.125rem;
        background: #1b4886;
        border: none;
        text-align: center;
        font-family: 'Source Sans Pro', sans-serif;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        .login-page .register-block .cta-button a:hover {
          background: #0a3a74;
          cursor: pointer; }
        @media print, screen and (min-width: 64em) {
          .login-page .register-block .cta-button a {
            width: 35.25rem; } }

body .signup-form {
  padding: 3.75rem 0;
  background: #f5f5f5; }
  body .signup-form .gform_wrapper {
    margin: 0; }
    body .signup-form .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
    body .signup-form .gform_wrapper select {
      padding-left: 0.9375rem;
      height: 3.125rem; }
    body .signup-form .gform_wrapper form {
      position: relative;
      z-index: 99;
      padding: 0; }
      body .signup-form .gform_wrapper form .validation_error {
        border: none;
        color: red;
        font-size: 1.1875rem;
        font-weight: 700;
        line-height: 1.4375rem; }
      body .signup-form .gform_wrapper form .gform_body .gform_fields .gf_right_half + li.gsection {
        padding: 0; }
      body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield {
        position: relative; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .top_label .ginput_container {
          margin: 0; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input {
          margin: 0;
          box-shadow: none;
          border: none;
          color: #298dff;
          padding-left: 0.5rem; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_label {
          font-size: 1.1875rem;
          font-weight: 700;
          line-height: 1.4375rem;
          color: #696969;
          margin-bottom: 0.625rem; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_label .gfield_required {
            color: #696969; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_description {
          background: #fff;
          padding: 1.875rem 1.875rem 3.75rem 1.875rem;
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 1.0625rem; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_description .gds_description {
            height: 12.0625rem;
            overflow-y: auto;
            padding-right: 1.875rem; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_description .open-window {
            float: right;
            margin-top: 1.25rem;
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.375rem;
            color: #696969;
            border-bottom: 0.0625rem solid #696969; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_text {
          margin: 0; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_text input {
            margin: 0;
            box-shadow: none;
            border: none;
            color: #298dff; }
        @media screen and (max-width: 39.9375em) {
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect:after {
            content: url("../img/arrow-down-g.svg");
            width: 1.25rem;
            height: 0.75rem;
            display: block;
            right: 0.9375rem;
            top: 2.8125rem;
            position: absolute; } }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect select {
          height: 3.125rem !important;
          border-color: #fff;
          box-shadow: none;
          background: #fff;
          background-size: 1.25rem 0.75rem; }
          @media print, screen and (min-width: 40em) {
            body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect select {
              background: #fff url("../img/arrow-down-g.svg") no-repeat 97% center;
              background-size: 1.25rem 0.75rem; } }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container {
          max-width: 100%; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container .chosen-choices {
            height: 3.125rem !important;
            border-color: #fff;
            box-shadow: none;
            background: #fff;
            background-size: 1.25rem 0.75rem; }
            @media print, screen and (min-width: 40em) {
              body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container .chosen-choices {
                background: #fff url("../img/arrow-down-g.svg") no-repeat 97% center;
                background-size: 1.25rem 0.75rem; } }
            body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container .chosen-choices .search-field input {
              line-height: 3.125rem;
              height: 3.125rem; }
            body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container .chosen-choices .search-choice {
              height: 2.5rem;
              margin: 0.3125rem;
              background: #ebebeb;
              line-height: 1.875rem;
              border-radius: 0;
              color: #298dff; }
              body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container .chosen-choices .search-choice a {
                top: 0.9375rem; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_multiselect .chosen-container .chosen-drop {
            border-color: #ebebeb;
            box-shadow: none; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container {
          margin: 0; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input {
            padding-left: 0.5rem; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_textarea textarea {
          border: none;
          background: #fff;
          padding: 0.3125rem;
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 1.0625rem;
          box-shadow: none;
          color: #298dff;
          margin: 0;
          width: 100%; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_select {
          margin: 0; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_select select {
            background-image: url("../img/arrow-down-g.svg");
            background-position: 99% center;
            background-size: 1.25rem 0.75rem;
            border: none;
            color: #298dff;
            margin-bottom: 0;
            padding-right: 0.9375rem; }
            body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_select select option {
              color: #696969; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li {
          padding: 0.9375rem 0 !important;
          /* checkbox aspect */
          /* checked mark aspect */
          /* checked mark aspect changes */
          /* disabled checkbox */
          /* accessibility */ }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li label {
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1.1875rem;
            font-weight: 600;
            color: #696969; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked),
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked {
            position: absolute;
            left: -9999px; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked) + label,
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked + label {
            position: relative;
            padding-left: 1.5625rem;
            cursor: pointer; }
            @media print, screen and (min-width: 40em) {
              body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked) + label,
              body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked + label {
                padding-left: 2.1875rem; } }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked) + label:before,
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked + label:before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.125rem;
            width: 1.5625rem;
            height: 1.5625rem;
            border: 2px solid #696969;
            background: none; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked) + label:after,
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked + label:after {
            content: '×';
            position: absolute;
            top: -1rem;
            left: 4px;
            font-size: 2.125rem;
            color: #298dff;
            line-height: 1.75;
            transition: all .2s; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked) + label:after {
            opacity: 0;
            -webkit-transform: scale(0);
            -ms-transform: scale(0);
            transform: scale(0); }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked + label:after {
            opacity: 1;
            -webkit-transform: scale(1);
            -ms-transform: scale(1);
            transform: scale(1); }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:disabled:not(:checked) + label:before,
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:disabled:checked + label:before {
            box-shadow: none;
            border-color: #bbb;
            background-color: #ddd; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:disabled:checked + label:after {
            color: #999; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:disabled + label {
            color: #aaa; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:checked:focus + label:before,
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container_checkbox ul li [type="checkbox"]:not(:checked):focus + label:before {
            border: 1px solid #fff; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_complex .ginput_right {
          width: 100%;
          margin-left: 0;
          margin-top: 1.5rem; }
          @media print, screen and (min-width: 40em) {
            body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_complex .ginput_right {
              margin-top: 0;
              width: 49.3%;
              margin-left: 0.5rem; } }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_complex label {
          font-size: 1.1875rem;
          font-weight: 700;
          line-height: 1.4375rem;
          color: #696969;
          margin-bottom: 0.625rem; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_complex label .gfield_required {
            color: #696969; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield.field-terms label {
          display: none; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield.field_captcha label {
          display: none; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield.hide-label > label {
          display: none; }
      body .signup-form .gform_wrapper form .gform_body .gform_fields .gsection {
        border-bottom: none;
        margin: 0;
        padding: 0; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gsection h2 {
          color: #298dff;
          font-family: 'Source Sans Pro', sans-serif;
          font-size: 1.5rem;
          font-weight: 700;
          line-height: 1.625rem;
          margin: 0;
          padding: 0; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gsection.divider-only {
          padding: 0;
          margin: 0 !important; }
      body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error {
        background: none;
        border: none;
        padding-top: 0; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error .validation_message {
          display: none;
          padding: 0;
          height: 0; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error .gfield_label {
          color: #ff0000; }
          body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error .gfield_label .gfield_required {
            color: #ff0000; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error label {
          margin-top: 0;
          padding-top: 0;
          color: #ff0000; }
        body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), body .signup-form .gform_wrapper form .gform_body .gform_fields .gfield_error .gform_wrapper li.gfield_error textarea {
          border: 0.0625rem solid red; }
      body .signup-form .gform_wrapper form .gform_footer input.button {
        padding: 0;
        margin: 0;
        width: 100%;
        height: 3.125rem;
        line-height: 3.125rem;
        border-radius: 3.125rem;
        background: #298dff;
        text-align: center;
        font-family: 'Source Sans Pro', sans-serif;
        font-size: 1.1875rem;
        font-weight: 600;
        color: #fff;
        box-shadow: 0.40175rem 0.47875rem 0.9375rem rgba(0, 0, 0, 0.2); }
        body .signup-form .gform_wrapper form .gform_footer input.button:hover {
          background: #1b4886; }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
  padding-bottom: 3.75rem; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 45%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: #298dff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: url("../img/arrow-left-sb.svg"); }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: url("../img/arrow-right-sb.svg"); }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 1; }

.error-page {
  background: #f5f5f5;
  padding-top: 3.125rem;
  padding-bottom: 3.125rem; }
  .error-page h1 {
    line-height: 3.125rem;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 2.8125rem;
    font-weight: 700;
    color: #696969; }
  .error-page p {
    line-height: 1.4375rem;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.1875rem;
    font-weight: 400;
    color: #696969; }
  .error-page .searchform {
    position: relative; }
    .error-page .searchform label {
      font-size: 1rem;
      line-height: 1.1875rem;
      font-weight: 400;
      color: #696969;
      margin-bottom: 0.625rem; }
    .error-page .searchform input[type="text"] {
      width: 100%;
      display: inline;
      float: left;
      border: none;
      box-shadow: none;
      height: 3.125rem;
      padding-right: 9.375rem; }
      .error-page .searchform input[type="text"]:focus {
        border: none;
        box-shadow: none; }
    .error-page .searchform input[type="submit"] {
      width: 9.375rem;
      position: absolute;
      right: 0;
      text-align: center;
      display: inline;
      height: 3.125rem;
      line-height: 3.125rem;
      font-family: 'Source Sans Pro', sans-serif;
      font-size: 1.1875rem;
      font-weight: 600;
      color: #fff;
      border: none;
      background: #1b4987 url("../img/search-icon-w.svg") no-repeat 90% center;
      background-size: 1.25rem 1.25rem; }
      @media print, screen and (min-width: 64em) {
        .error-page .searchform input[type="submit"] {
          font-size: 1.5rem; } }
      .error-page .searchform input[type="submit"]:hover {
        opacity: 0.8;
        cursor: hand; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY29tbW9uLnNjc3MiLCJjb21wb25lbnRzL19zb2x1dGlvbnMtaW4tYWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19sZWFkZXJzLXRydXN0LnNjc3MiLCJjb21wb25lbnRzL19jdXN0b21pemVkLXNvbHV0aW9uLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC13aWRnZXRzLnNjc3MiLCJjb21wb25lbnRzL19jb2xvcnMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWludHJvLnNjc3MiLCJjb21wb25lbnRzL19yZWNvbW1lbmRlZC1wcmljaW5nLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWRldGFpbHMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtcmVzb3VyY2VzLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LXJlYWR5LXRvLWdvLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LXJlbGF0ZWQtd2lkZ2V0cy5zY3NzIiwiY29tcG9uZW50cy9fYWJvdXQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2J1bmRsZXMuc2NzcyIsImNvbXBvbmVudHMvX2N0YS1ib3guc2NzcyIsImNvbXBvbmVudHMvX2ZhcS5zY3NzIiwiY29tcG9uZW50cy9fcGFydG5lci1wcm9ncmFtLnNjc3MiLCJjb21wb25lbnRzL19wYXJ0bmVyLWJlbmVmaXRzLnNjc3MiLCJjb21wb25lbnRzL19wYXJ0bmVycy10eXBlcy5zY3NzIiwiY29tcG9uZW50cy9fc3VwcG9ydC5zY3NzIiwiY29tcG9uZW50cy9fYmxvZy5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1jaGFubmVscy5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1tYXAuc2NzcyIsImNvbXBvbmVudHMvX3N3eWNkLXBsYW5zLnNjc3MiLCJjb21wb25lbnRzL19tb3ZyLnNjc3MiLCJjb21wb25lbnRzL19yZXBvcnQtaGlnaGxpZ2h0cy5zY3NzIiwiY29tcG9uZW50cy9fY3VycmVudC1yZXBvcnQuc2NzcyIsImNvbXBvbmVudHMvX3ByZXZpb3VzLXJlcG9ydC5zY3NzIiwiY29tcG9uZW50cy9fZG9jdW1lbnRhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9fc2lnbnVwLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3NsaWNrLnNjc3MiLCJjb21wb25lbnRzL19lcnJvci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FLRztBQ3dDRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWtCO0VBQUUsT0FBTztFQUU3QiwyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLCtCQUErQjtFQUFFLE9BQU8sRUFDekM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBZSxFQUNoQjs7QUFFRDs7O09BR0c7QUFFSDtFRTlFRixlQVhpQjtFRm9HWCxpQkFBaUIsRUFFcEI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFlLEVBQ2hCOztBQUVEOztPQUVHO0FBRUg7RUFLSSxpQkN2TFksRUR5TGY7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLFVBQVU7RUFBRSxPQUFPO0VBQ25CLGtCQUFrQjtFQUFFLE9BQU8sRUFDNUI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWUsRUFDaEI7O0FBYUQ7OztPQUdHO0FBRUg7RUFDRSxrQ0FBa0M7RUFBRSxPQUFPO0VBQzNDLGVBQWU7RUFBRSxPQUFPLEVBQ3pCOztBQUlE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TjJFakI7O0FBSUM7RU83RkosbUJBQW1CO0VBQ25CLFVBSG1CLEVQaUdkOztBQUVEO0VPakdKLG1CQUFtQjtFQUNuQixXQUhtQixFUHFHZDs7QUFNSDtFTzlFSix1QkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixpQkNlc0IsRU4yRWpCOztBQUlDO0VPN0ZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBpR2Q7O0FBRUQ7RU9qR0osbUJBQW1CO0VBQ25CLGlCQUhtQixFUHFHZDs7QUFNSDtFTzlFSixpQkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixpQkNlc0IsRU4yRWpCOztBQUlDO0VPN0ZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBpR2Q7O0FBRUQ7RU9qR0osbUJBQW1CO0VBQ25CLGlCQUhtQixFUHFHZDs7QUFNSDtFTzlFSix1QkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixXQ2VzQixFTjJFakI7O0FBSUM7RU83RkosbUJBQW1CO0VBQ25CLFVBSG1CLEVQaUdkOztBQUVEO0VPakdKLG1CQUFtQjtFQUNuQixXQUhtQixFUHFHZDs7QUFNSDtFTzlFSix1QkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixpQkNlc0IsRU4yRWpCOztBQUlDO0VPN0ZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBpR2Q7O0FBRUQ7RU9qR0osbUJBQW1CO0VBQ25CLGlCQUhtQixFUHFHZDs7QUFNSDtFTzlFSixpQkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixpQkNlc0IsRU4yRWpCOztBQUlDO0VPN0ZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBpR2Q7O0FBRUQ7RU9qR0osbUJBQW1CO0VBQ25CLGlCQUhtQixFUHFHZDs7QUFNSDtFTzlFSix1QkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixXQ2VzQixFTjJFakI7O0FBSUM7RU83RkosbUJBQW1CO0VBQ25CLFVBSG1CLEVQaUdkOztBQUVEO0VPakdKLG1CQUFtQjtFQUNuQixXQUhtQixFUHFHZDs7QUFNSDtFTzlFSix1QkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixpQkNlc0IsRU4yRWpCOztBQUlDO0VPN0ZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBpR2Q7O0FBRUQ7RU9qR0osbUJBQW1CO0VBQ25CLGlCQUhtQixFUHFHZDs7QUFNSDtFTzlFSixpQkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixpQkNlc0IsRU4yRWpCOztBQUlDO0VPN0ZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBpR2Q7O0FBRUQ7RU9qR0osbUJBQW1CO0VBQ25CLGlCQUhtQixFUHFHZDs7QUFNSDtFTzlFSix1QkRic0IsRU42RmpCOztBQXBCRDtFS3hGSixZQ2VzQixFTjJFakI7O0FBZ0JEO0VPOUVKLHVCRGJzQixFTjZGakI7O0FBS0Q7RVF6R0YsWVgrRXVEO0VXOUV2RCxZQUFpQixFQWlDbEI7RVJ1RUc7SVFqRkEsWUFBWSxFQUNiO0VSZ0ZDO0lRN0VBLFlBQVksRUFDYjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELFdBQWlCLEVBaUNsQjtFUnVFRztJUWpGQSxZQUFZLEVBQ2I7RVJnRkM7SVE3RUEsWUFBWSxFQUNiO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsaUJBQWlCLEVBaUNsQjtFUnVFRztJUWpGQSxZQUFZLEVBQ2I7RVJnRkM7SVE3RUEsWUFBWSxFQUNiO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsV0FBaUIsRUFpQ2xCO0VSdUVHO0lRakZBLFlBQVksRUFDYjtFUmdGQztJUTdFQSxZQUFZLEVBQ2I7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxXQUFpQixFQWlDbEI7RVJ1RUc7SVFqRkEsWUFBWSxFQUNiO0VSZ0ZDO0lRN0VBLFlBQVksRUFDYjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUFpQixFQWlDbEI7RVJ1RUc7SVFqRkEsWUFBWSxFQUNiO0VSZ0ZDO0lRN0VBLFlBQVksRUFDYjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUFpQixFQWlDbEI7RVJ1RUc7SVFqRkEsWUFBWSxFQUNiO0VSZ0ZDO0lRN0VBLFlBQVksRUFDYjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGFBQWlCLEVBaUNsQjtFUnVFRztJUWpGQSxZQUFZLEVBQ2I7RVJnRkM7SVE3RUEsWUFBWSxFQUNiO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSOEVEO0VHL0dBLGlCQUZrQjtFQUdsQixnQkFIa0IsRUhrSGdCOztBQURsQztFQUlJLGdCQUFnQjtFQUNoQixlQUFlLEVBQ2hCOztBQUdIO0VBQ0UsZ0JBQWdCO0VBQ2hCLGVBQWUsRUFDaEI7O0FBRUQ7RUc3SEEseUJBRmtCO0VBR2xCLHdCQUhrQixFSGdJeUI7O0FBSTNDO0VPaklBLG1CQUFtQjtFQUNuQixrQkFBa0IsRVBrSWpCO0VBRkQ7SU9wSUUsWUFBWTtJQUNaLFlBQVksRUFDYjs7QVB1SUQ7OztFTzVIRixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixlQUFlLEVQMkhaOztBSUpDO0VKckRBO0lLeEZKLGdCQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsZUFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQcUdkO0VBTUg7SU85RUosZ0JEaEJzQixFTmdHakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosc0JEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixXQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsV0FIbUIsRVBxR2Q7RUFNSDtJTzlFSix1QkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLGlCQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQaUdkO0VBRUQ7SU9qR0osbUJBQW1CO0lBQ25CLGlCQUhtQixFUHFHZDtFQU1IO0lPOUVKLGlCRGJzQixFTjZGakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosdUJEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixXQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsV0FIbUIsRVBxR2Q7RUFNSDtJTzlFSix1QkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLGlCQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQaUdkO0VBRUQ7SU9qR0osbUJBQW1CO0lBQ25CLGlCQUhtQixFUHFHZDtFQU1IO0lPOUVKLGlCRGJzQixFTjZGakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosdUJEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixXQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsV0FIbUIsRVBxR2Q7RUFNSDtJTzlFSix1QkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLGlCQ2VzQixFTjJFakI7RUFJQztJTzdGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQaUdkO0VBRUQ7SU9qR0osbUJBQW1CO0lBQ25CLGlCQUhtQixFUHFHZDtFQU1IO0lPOUVKLGlCRGJzQixFTjZGakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosdUJEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixZQ2VzQixFTjJFakI7RUFnQkQ7SU85RUosdUJEYnNCLEVONkZqQjtFQUtEO0lRekdGLFlYK0V1RDtJVzlFdkQsWUFBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQWlCLEVBaUNsQjtJUnVFRztNUWpGQSxZQUFZLEVBQ2I7SVJnRkM7TVE3RUEsWUFBWSxFQUNiO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQWlCLEVBaUNsQjtJUnVFRztNUWpGQSxZQUFZLEVBQ2I7SVJnRkM7TVE3RUEsWUFBWSxFQUNiO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUFpQixFQWlDbEI7SVJ1RUc7TVFqRkEsWUFBWSxFQUNiO0lSZ0ZDO01RN0VBLFlBQVksRUFDYjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQWlCLEVBaUNsQjtJUnVFRztNUWpGQSxZQUFZLEVBQ2I7SVJnRkM7TVE3RUEsWUFBWSxFQUNiO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGFBQWlCLEVBaUNsQjtJUnVFRztNUWpGQSxZQUFZLEVBQ2I7SVJnRkM7TVE3RUEsWUFBWSxFQUNiO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVI4RUQ7SUcvR0EsaUJBRmtCO0lBR2xCLGdCQUhrQixFSGtIZ0I7RUFEbEM7SUFJSSxnQkFBZ0I7SUFDaEIsZUFBZSxFQUNoQjtFQUdIO0lBQ0UsZ0JBQWdCO0lBQ2hCLGVBQWUsRUFDaEI7RUFFRDtJRzdIQSx5QkFGa0I7SUFHbEIsd0JBSGtCLEVIZ0l5QjtFQUkzQztJT2pJQSxtQkFBbUI7SUFDbkIsa0JBQWtCLEVQa0lqQjtJQUZEO01PcElFLFlBQVk7TUFDWixZQUFZLEVBQ2I7RVB1SUQ7OztJTzVIRixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixlQUFlLEVQMkhaLEVBQUE7O0FJSkM7RUpyREE7SUt4RkosZ0JDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixlQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBxR2Q7RUFNSDtJTzlFSixnQkRoQnNCLEVOZ0dqQjtFQXBCRDtJS3hGSixpQkNlc0IsRU4yRWpCO0VBSUM7SU83RkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBxR2Q7RUFNSDtJTzlFSixzQkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLFdDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixVQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixXQUhtQixFUHFHZDtFQU1IO0lPOUVKLHVCRGJzQixFTjZGakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosaUJEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixpQkNlc0IsRU4yRWpCO0VBSUM7SU83RkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBxR2Q7RUFNSDtJTzlFSix1QkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLFdDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixVQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixXQUhtQixFUHFHZDtFQU1IO0lPOUVKLHVCRGJzQixFTjZGakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosaUJEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixpQkNlc0IsRU4yRWpCO0VBSUM7SU83RkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBxR2Q7RUFNSDtJTzlFSix1QkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLFdDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixVQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixXQUhtQixFUHFHZDtFQU1IO0lPOUVKLHVCRGJzQixFTjZGakI7RUFwQkQ7SUt4RkosaUJDZXNCLEVOMkVqQjtFQUlDO0lPN0ZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBpR2Q7RUFFRDtJT2pHSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQcUdkO0VBTUg7SU85RUosaUJEYnNCLEVONkZqQjtFQXBCRDtJS3hGSixpQkNlc0IsRU4yRWpCO0VBSUM7SU83RkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUGlHZDtFQUVEO0lPakdKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVBxR2Q7RUFNSDtJTzlFSix1QkRic0IsRU42RmpCO0VBcEJEO0lLeEZKLFlDZXNCLEVOMkVqQjtFQWdCRDtJTzlFSix1QkRic0IsRU42RmpCO0VBS0Q7SVF6R0YsWVgrRXVEO0lXOUV2RCxZQUFpQixFQWlDbEI7SVJ1RUc7TVFqRkEsWUFBWSxFQUNiO0lSZ0ZDO01RN0VBLFlBQVksRUFDYjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUFpQixFQWlDbEI7SVJ1RUc7TVFqRkEsWUFBWSxFQUNiO0lSZ0ZDO01RN0VBLFlBQVksRUFDYjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQWlCLEVBaUNsQjtJUnVFRztNUWpGQSxZQUFZLEVBQ2I7SVJnRkM7TVE3RUEsWUFBWSxFQUNiO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUFpQixFQWlDbEI7SVJ1RUc7TVFqRkEsWUFBWSxFQUNiO0lSZ0ZDO01RN0VBLFlBQVksRUFDYjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsYUFBaUIsRUFpQ2xCO0lSdUVHO01RakZBLFlBQVksRUFDYjtJUmdGQztNUTdFQSxZQUFZLEVBQ2I7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RUFDZix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGtCQUwwQjtFQU0xQixpQlpLb0I7RVlKcEIsZ0JBQXNCO0VBRXRCLDBCaEIzQm1CO0VnQjRCbkIsaUJoQmhCZTtFZ0JpQmYsMEJoQjFCYTtFZ0IyQmIsa0RoQjVCYTtFZ0I4QmIscUJoQjJSeUI7RWdCMVJ6QixnQlpKb0I7RVlLcEIsb0JoQnhCMkI7RWdCeUIzQixlaEJqQ2E7RWdCb0NYLDREaEJnUzhEO0VnQjVROUQseUJBQWlCO0tBQWpCLHNCQUFpQjtVQUFqQixpQkFBaUIsRUFDbEI7RXRCcW1ERDs7SXNCcm5ERSxjQUFjO0lBQ2QsMEJoQjNDZTtJZ0I0Q2YsMEJoQjFDVztJZ0IyQ1gsNEJoQjlDaUI7SWdCaURmLDREaEJxUjRELEVnQm5SL0Q7O0FBV0Q7RUFDRSxnQkFBZ0IsRUFLakI7RUFORDtJQUlJLGFBQWEsRUFDZDs7QUFHSDs7RUFJSSxlaEIxRWUsRWdCMkVoQjs7QUFMSDs7RUFJSSxlaEIxRWUsRWdCMkVoQjs7QUFMSDs7RUFJSSxlaEIxRWUsRWdCMkVoQjs7QUFMSDs7O0VBVUksMEJoQmpGYztFZ0JrRmQsb0JoQm9QNkIsRWdCblA5Qjs7QXRCcW1ETDs7RXNCL2xESSx5QkFBaUI7S0FBakIsc0JBQWlCO1VBQWpCLGlCQUFpQjtFQUNqQixpQmhCN0VhLEVnQjhFZDs7QUFHRDtFQUNFLHVCQUF1QixFQUN4Qjs7QXRCZ21ESDs7O0V1Qjl1REksaUJiNEVrQixFYTNFbkI7O0F2Qmt2REg7O0V1Qjd1REksc0JBQXNCO0VBQ3RCLHlCQUF5QjtFQUV6QixvQkFBNEM7RUFDNUMsbUJia0VrQjtFYWpFbEIsaUJBQWlCLEVBS2xCO0V2QjB1REQ7O0l1QjV1REksZ0JBQWdCLEVBQ2pCOztBQUlIOztFQUVFLHFCQUE2QyxFQUM5Qzs7QXZCNHVESDtFdUJ4dURJLFlBQVksRUFDYjs7QUNHRDtFQWpCQSxlQUFlO0VBQ2YsVUFBVTtFQUVWLG9CZDREb0I7RWMzRHBCLG9CbEJ3QzJCO0VrQnZDM0IsaUJsQmtWMEI7RWtCalYxQixlbEI4QmEsRWtCYlo7RUFO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RUNSM0I7O0FKTkg7RUVvQ0UscUNBRmlCO01BRWpCLGlDQUZpQjtVQUVqQiw2QkFGaUIsRUVoQmhCOztBSmpCSDtFQWZBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUN2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUF4QywyREFBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpMSDtFRW1DRSxxQ0FGaUI7TUFFakIsaUNBRmlCO1VBRWpCLDZCQUZpQixFRWhCaEI7O0FKZEg7RUFsQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUtBbEMsNkJBQTZCLEVERTVCOztBSkZIO0VFZ0NFLFdGaENxQyxFSWNwQzs7QUpiSDtFQW5CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFS0RsQyw2QkFBNkIsRURFNUI7O0FKREg7RUUrQkUsV0YvQnFDLEVJYXBDOztBSlZIO0VBdEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWiw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpFSDtFRTRCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlRIO0VBdkJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpHSDtFRTJCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbkNlO1VKbUNmLDhDSW5DZTtFSm1DZixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpJSDtFRTBCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlBIO0VBekJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbENhO1VKa0NiLDhDSWxDYTtFSmtDYiwrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpLSDtFRXlCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSk5IO0VBMUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpNSDtFRXdCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpPSDtFRXVCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkpIO0VBNUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4Qyw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpRSDtFRXNCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkhIO0VBN0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpTSDtFRXFCRSx1RElwQ2M7VUpvQ2QsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpVSDtFRW9CRSxzREluQ2U7VUptQ2YsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBSkRIO0VBL0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QywrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpXSDtFRW1CRSxzRElsQ2E7VUprQ2IsOENJbENhO0VDb0JYLFdBQThCLEVISi9COztBSkFIO0VBaENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpZSDtFRWtCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkNIO0VBakNBLDJCQ2tCYztFRGpCZCxt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TW1FM0pOO1FBMkJRLHVCckU2RGM7UXFFNURkLHVCckU0RGMsRXFFMURqQixFQUFBO0VBOUJMO0lBZ0NNLG1DQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsdUJyRXNEZ0I7SXFFckRoQix1QnJFcURnQixFcUVoRGpCO0luRW1IQztNbUUzSk47UUFxQ1Esc0JyRW1EYztRcUVsRGQsc0JyRWtEYyxFcUVoRGpCLEVBQUE7RUF4Q0w7SUEyQ1EsWUFBVztJQUNYLDJDQUEyQztJQUMzQyxrQnJFMkNjO0lxRTFDZCxpQkFBZ0I7SUFDaEIsc0JyRXlDYztJcUV4Q2QsOEJBQXFDLEVBT3RDO0luRW9HRDtNbUUzSk47UUFtRFUsa0JyRXFDWTtRcUVwQ1osc0JyRW9DWTtRcUVuQ1osa0JyRW1DWSxFcUVqQ2YsRUFBQTs7QUF2RFA7RUEwREksb0JBQW1CO0VBQ25CLHVCckU2QmtCO0VxRTVCbEIsMEJyRTRCa0IsRXFFZ0ZuQjtFbkViRztJbUUzSk47TUE4RE0sc0JyRTBCZ0I7TXFFekJoQix5QnJFeUJnQixFcUVnRm5CLEVBQUE7RW5FYkc7SW1FM0pOO01Ba0VNLHFCckVzQmdCLEVxRWdGbkIsRUFBQTtFQXhLSDtJQXFFUSx3QnJFbUJjLEVxRTJCZjtJQW5IUDtNQXVFVSxZQUFXO01BQ1gsMkNBQTJDO01BQzNDLG9CckVlWTtNcUVkWixpQkFBZ0I7TUFDaEIsMEJBQXlCO01BQ3pCLHVCckVZWTtNcUVYWixzQnJFV1k7TXFFVlosdUJyRVVZLEVxRUhiO01uRXNFSDtRbUUzSk47VUFnRlksb0JyRVFVLEVxRUhiLEVBQUE7TW5Fc0VIO1FtRTNKTjtVQW1GWSxzQnJFS1UsRXFFSGIsRUFBQTtJQXJGVDtNQXVGVSxZQUFXO01BQ1gsMkNBQTJDO01BQzNDLHFCckVEWTtNcUVFWixpQkFBZ0I7TUFDaEIsdUJyRUhZLEVxRUliO0lBNUZUO01BOEZVLHNCckVOWTtNcUVPWixvQkFBbUI7TUFDbkIsWUFBVztNQUNYLGVBQWM7TUFDZCxpQnJFVlk7TXFFV1osMkNBQTJDO01BQzNDLHNCckVaWTtNcUVhWix3QnJFYlk7TXFFY1osbUJB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QixXQTVLbUIsRUE2S3BCOztBQzlSTDtFQUNFLG9CQUFtQjtFQUNuQixzQnhHc0ZvQjtFd0dyRnBCLHlCeEdxRm9CLEV3R3JCckI7RUFuRUQ7SUFLSSxzQnhHbUZrQjtJd0dsRmxCLDJDQUEyQztJQUMzQyxxQnhHaUZrQjtJd0doRmxCLGlCQUFnQjtJQUNoQixlQUFjLEVBQ2Y7RUFWSDtJQVlJLHVCeEc0RWtCO0l3RzNFbEIsMkNBQTJDO0lBQzNDLHFCeEcwRWtCO0l3R3pFbEIsaUJBQWdCO0lBQ2hCLGVBQWMsRUFDZjtFQWpCSDtJQW1CSSxtQkFBa0IsRUErQ25CO0lBbEVIO01BcUJNLGdCeEdtRWdCO013R2xFaEIsdUJ4R2tFZ0I7TXdHakVoQixpQkFBZ0I7TUFDaEIsZUFBYztNQUNkLHdCeEcrRGdCLEV3RzlEakI7SUExQkw7TUE0Qk0sWUFBVztNQUNYLGdCQUFlO01BQ2YsWUFBVztNQUNYLGFBQVk7TUFDWixpQkFBZ0I7TUFDaEIsaUJ4R3VEZ0I7TXdHdERoQix3QnhHc0RnQixFd0dqRGpCO01BdkNMO1FBb0NRLGFBQVk7UUFDWixpQkFBZ0IsRUFDakI7SUF0Q1A7TUF5Q00sZ0J4RytDZ0I7TXdHOUNoQixtQkFBa0I7TUFDbEIsU3hHa0RPO013R2pEUCxtQkFBa0I7TUFDbEIsZ0JBQWU7TUFDZixpQnhHMENnQjtNd0d6Q2hCLHNCeEd5Q2dCO013R3hDaEIsMkNBQTJDO01BQzNDLHFCeEd1Q2dCO013R3RDaEIsaUJBQWdCO01BQ2hCLFlBQVc7TUFDWCxhQUFZO01BQ1oseUVBQXVFO01BQ3ZFLGlDeEdrQ2dCLEV3R3ZCakI7TXRHMEZDO1FzRzNKTjtVQTBEUSxrQnhHOEJjLEV3R3ZCakIsRUFBQTtNQWpFTDtRQThEUSxhQUFZO1FBQ1osYUFBWSxFQUNiIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9OTBlbSZ4eGxhcmdlPTEwMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+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+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3NzliYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDgwcmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxNzc5YmE7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSA+IGxpLCAubWVudS5ob3Jpem9udGFsID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgICAubWVudS5sYXJnZS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZS5hbGlnbi1yaWdodCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wLnZlcnRpY2FsIGEgPiBzcGFuIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubWVudS5tZW51LWJvcmRlcmVkIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLm1lbnUubWVudS1ib3JkZXJlZCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5tZW51Lm1lbnUtaG92ZXIgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9zaXRpb24tbGVmdC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSxcbiAgdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGFibGUgdGhlYWQgdHIsXG4gIHRhYmxlIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSB0aGVhZCB0aCxcbiAgdGFibGUgdGhlYWQgdGQsXG4gIHRhYmxlIHRmb290IHRoLFxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdGgsXG4gIHRhYmxlIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAudGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi50b3AtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50b3AtYmFyOjpiZWZvcmUsIC50b3AtYmFyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC50b3AtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuICAudG9wLWJhci10aXRsZSAubWVudS1pY29uIHtcbiAgICBib3R0b206IDJweDsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7IH1cbiAgLmhlYWRlciAuaGVhZGVyLWludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogMi44MTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyIC5oZWFkZXItaW50cm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogOC40Mzc1cmVtOyB9IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItaW50cm8gLmxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5oZWFkZXIgLmhlYWRlci1pbnRybyAubG9nbyBhIGltZyB7XG4gICAgICAgIGhlaWdodDogMi45NXJlbTtcbiAgICAgICAgd2lkdGg6IDE0Ljc1cmVtOyB9XG4gICAgLmhlYWRlciAuaGVhZGVyLWludHJvIGgxIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMi40Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVhZGVyIC5oZWFkZXItaW50cm8gaDEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAzLjQzNzVyZW07XG4gICAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICAgLmhlYWRlciAuaGVhZGVyLWludHJvIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLWludHJvIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtOyB9IH1cbiAgICAuaGVhZGVyIC5oZWFkZXItaW50cm8gLmhlYWRlci1jdGEge1xuICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgd2lkdGg6IDE0LjY4NzVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICAgLmhlYWRlciAuaGVhZGVyLWludHJvIC5oZWFkZXItY3RhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzE1M0M2QTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlYWRlciAuaGVhZGVyLWludHJvIC5oZWFkZXItY3RhIHtcbiAgICAgICAgICB3aWR0aDogMjQuNDU2MjVyZW07IH0gfVxuICAuaGVhZGVyIC5waG9uZS1iZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAyLjgxMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgIC5oZWFkZXIgLnBob25lLWJnIGltZyB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZWFkZXIgLnBob25lLWJnIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlciAucGhvbmUtYmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgaGVpZ2h0OiAyNS43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXIgLnBob25lLWJnIHtcbiAgICAgICAgaGVpZ2h0OiA0MnJlbTsgfSB9XG5cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjM2MzYzNjOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mb290ZXIgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5mb290ZXIgLmZvb3Rlci1uYXZzIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfSB9XG4gICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tZW51ID4gdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1uYXZzIC5mb290ZXItbWVudSA+IHVsID4gbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tZW51ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tZW51ID4gdWwgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNkZGQ7IH1cbiAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuZm9vdGVyLW1lbnUgLnN1Yi1tZW51IHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbSAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tZW51IC5zdWItbWVudSA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuZm9vdGVyLW1lbnUgLnN1Yi1tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuZm9vdGVyLW1lbnUgLnN1Yi1tZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZGRkOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuZm9vdGVyLW1vYmlsZS1tZW51IHtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tb2JpbGUtbWVudSB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuZm9vdGVyLW1vYmlsZS1tZW51IHVsIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDQ5JTsgfVxuICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1uYXZzIC5mb290ZXItbW9iaWxlLW1lbnUgdWwgbGkgYSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuZm9vdGVyLW1vYmlsZS1tZW51IHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogI2VlZTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLmZvb3Rlci1tb2JpbGUtbWVudSAuc29jaWFsLWljb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA0OSU7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAgIC5mb290ZXIgLmZvb3Rlci1uYXZzIC5jb250YWN0LWluZm8ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuc29jaWFsLXR3aXR0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLnNvY2lhbC10d2l0dGVyIGltZyB7XG4gICAgICAgIHdpZHRoOiAxLjA5Mzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuODg3NXJlbTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLnNvY2lhbC10d2l0dGVyOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC42OyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLW5hdnMgLnN1YnNjcmlwdGlvbi1mb3JtIGgzIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItbmF2cyAuc3Vic2NyaXB0aW9uLWZvcm0gaDMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1uYXZzIC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7IH1cbiAgLmZvb3RlciAuZm9vdGVyLXJpZ2h0cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLXJpZ2h0cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1yaWdodHMgLmNvcHlyaWdodHMge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1yaWdodHMgLmNvcHlyaWdodHMge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1yaWdodHMgLmNyZWF0ZWQtYnkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1yaWdodHMgLmNyZWF0ZWQtYnkge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLXJpZ2h0cyAuY3JlYXRlZC1ieSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1yaWdodHMgLmNyZWF0ZWQtYnkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNkZGQ7IH1cblxuLnNpbmdsZS1jYXNlLXN0dWR5IC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgdWwgLnJlc291cmNlcy1tZW51LWl0ZW0gPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzI5OGRmZjsgfVxuICAuc2luZ2xlLWNhc2Utc3R1ZHkgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiB1bCAucmVzb3VyY2VzLW1lbnUtaXRlbSA+IGE6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxLjA2MjVyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5OGRmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuc2luZ2xlLWNhc2Utc3R1ZHkgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiB1bCAucmVzb3VyY2VzLW1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zaW5nbGUtcG9zdCAubWVudS13cmFwcGVyICN0b3AtbmF2IHVsIC5ibG9nLW1lbnUtaXRlbSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMjk4ZGZmOyB9XG4gIC5zaW5nbGUtcG9zdCAubWVudS13cmFwcGVyICN0b3AtbmF2IHVsIC5ibG9nLW1lbnUtaXRlbSA+IGE6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxLjA2MjVyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5OGRmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuc2luZ2xlLXBvc3QgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiB1bCAuYmxvZy1tZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2luZ2xlLW5ld3MgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiB1bCAuYWJvdXQtbWVudS1pdGVtID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMyOThkZmY7IH1cbiAgLnNpbmdsZS1uZXdzIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgdWwgLmFib3V0LW1lbnUtaXRlbSA+IGE6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxLjA2MjVyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5OGRmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuc2luZ2xlLW5ld3MgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiB1bCAuYWJvdXQtbWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtd3JhcHBlciB7XG4gIGhlaWdodDogMy43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiA5OTk5O1xuICAvKiBEcm9wZG93biAqLyB9XG4gIC5tZW51LXdyYXBwZXIuc3RpY2t5LWhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5tZW51LXdyYXBwZXIgLmxlZnQtbWVudSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAubWVudS13cmFwcGVyIC5sZWZ0LW1lbnUtaG9tZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY4JTsgfVxuICAubWVudS13cmFwcGVyIC5yaWdodC1tZW51IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDMwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS13cmFwcGVyIC5yaWdodC1tZW51LWhvbWUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMzIlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LXdyYXBwZXIgLm1lbnUtbG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG4gICAgLm1lbnUtd3JhcHBlciAubWVudS1sb2dvIGEgaW1nIHtcbiAgICAgIHdpZHRoOiA5LjUwNjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjlyZW07IH1cbiAgICAubWVudS13cmFwcGVyIC5tZW51LWxvZ28gYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiA+IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCA+IGxpLmN1cnJlbnRfcGFnZV9pdGVtID4gYSB7XG4gICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgPiBsaS50aGljayA+IGEge1xuICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiA+IHVsLnRoaW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bC50aGluID4gbGkgPiBhIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCBsaTpob3ZlciBhLFxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgbGkuY3VycmVudC1tZW51LXBhcmVudCBhIHtcbiAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgbGk6aG92ZXIgLmRyb3Bkb3duIGEsXG4gIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCBsaS5jdXJyZW50LW1lbnUtcGFyZW50IC5kcm9wZG93biBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgbGk6aG92ZXIgLmRyb3Bkb3duIGE6aG92ZXIsXG4gIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCBsaS5jdXJyZW50LW1lbnUtcGFyZW50IC5kcm9wZG93biBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ViZWJlYjsgfVxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSxcbiAgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYTpiZWZvcmUsXG4gICAgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiA+IHVsID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMS4wNjI1cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5OGRmZjtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLm1lbnUtd3JhcHBlciAjdG9wLW5hdiA+IHVsID4gbGkuY3VycmVudC1tZW51LXBhcmVudCA+IGE6aG92ZXI6YmVmb3JlLFxuICAgIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWVudS13cmFwcGVyICN0b3AtbmF2ID4gdWwgPiBsaS5jdXJyZW50LW1lbnUtcGFyZW50OmhvdmVyID4gYTpiZWZvcmUsXG4gIC5tZW51LXdyYXBwZXIgI3RvcC1uYXYgPiB1bCA+IGxpLmN1cnJlbnQtbWVudS1pdGVtOmhvdmVyID4gYTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lbnUtd3JhcHBlciBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLm9wZW5lZCA+IGE6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1lbnUtd3JhcHBlciBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsLmRyb3Bkb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZW51LXdyYXBwZXIgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciA+IGE6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1lbnUtd3JhcHBlciBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1lbnUtd3JhcHBlciBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG4gICAgICBib3R0b206IC0wLjA2MjVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5tZW51LXdyYXBwZXIgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCAxNDEsIDI1NSwgMCk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjk4ZGZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAubWVudS13cmFwcGVyIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwuZHJvcGRvd24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICB0b3A6IDMuNzVyZW07XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgei1pbmRleDogOTk5O1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgd2lkdGg6IDE1LjYyNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLm1lbnUtd3JhcHBlciBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsLmRyb3Bkb3duIGxpIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIC5tZW51LXdyYXBwZXIgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bC5kcm9wZG93biBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudS13cmFwcGVyICNoZWFkZXItbmF2LTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tZW51LXdyYXBwZXIgI2hlYWRlci1uYXYtMSBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVudS13cmFwcGVyIC5zZWFyY2gtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEuMTc1cmVtO1xuICAgIGhlaWdodDogMS4xNjg3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1lbnUtd3JhcHBlciAuc2VhcmNoLWJ0bjphZnRlciwgLm1lbnUtd3JhcHBlciAuc2VhcmNoLWJ0bjpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYm90dG9tOiAtMS41cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5tZW51LXdyYXBwZXIgLnNlYXJjaC1idG46YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCAxNDEsIDI1NSwgMCk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjk4ZGZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgIC5tZW51LXdyYXBwZXIgLnNlYXJjaC1idG46YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgMTQxLCAyNTUsIDApO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI5OGRmZjtcbiAgICAgIGJvcmRlci13aWR0aDogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxuICAgIC5tZW51LXdyYXBwZXIgLnNlYXJjaC1idG4ub3BlbmVkOmFmdGVyLCAubWVudS13cmFwcGVyIC5zZWFyY2gtYnRuLm9wZW5lZDpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5tZW51LXdyYXBwZXIgLnNlYXJjaC1idG46aG92ZXIgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAubWVudS13cmFwcGVyIC5tZW51LWN0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4LjEyNXJlbTtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgICAubWVudS13cmFwcGVyIC5tZW51LWN0YTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTUzQzZBOyB9XG5cbi5zZWFyY2gtZm9ybSB7XG4gIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzLjc1cmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA1cmVtO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5OTk7XG4gIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5zZWFyY2gtZm9ybSBmb3JtIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDkuMzc1cmVtIDEuMjVyZW0gMDsgfVxuICAgIC5zZWFyY2gtZm9ybSBmb3JtIC5zZWFyY2gtaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLnNlYXJjaC1mb3JtIGZvcm0gLnNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5zZWFyY2gtZm9ybSBmb3JtIC5zZWFyY2gtc3VibWl0IHtcbiAgICAgIGJhY2tncm91bmQ6ICMxYjQ5ODc7XG4gICAgICB3aWR0aDogOS4zNzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNlYXJjaC1mb3JtIGZvcm0gLnNlYXJjaC1zdWJtaXQgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtOyB9XG4gICAgICAuc2VhcmNoLWZvcm0gZm9ybSAuc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5tb2JpbGUtaGVhZGVyIHtcbiAgaGVpZ2h0OiA0LjY4NzVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDAgMS44NzVyZW07IH1cbiAgLm1vYmlsZS1oZWFkZXIgLm1vYmlsZS1sb2dvIHtcbiAgICBsaW5lLWhlaWdodDogNC42ODc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5tb2JpbGUtaGVhZGVyIC5tb2JpbGUtbG9nbyBhIGltZyB7XG4gICAgICB3aWR0aDogOS43MDYyNXJlbTsgfVxuICAubW9iaWxlLWhlYWRlciAuaGFtLWJ1dHRvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLm1vYmlsZS1oZWFkZXIgLmhhbS1idXR0b24gLmhhbWJ1cmdlciB7XG4gICAgICB3aWR0aDogMS44NzVyZW07XG4gICAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5tb2JpbGUtaGVhZGVyIC5oYW0tYnV0dG9uIC5oYW1idXJnZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm1vYmlsZS1oZWFkZXIgLmhhbS1idXR0b24gLmhhbWJ1cmdlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9IH1cbiAgICAgIC5tb2JpbGUtaGVhZGVyIC5oYW0tYnV0dG9uIC5oYW1idXJnZXIgc3BhbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICMyOThkZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC42cyBlYXNlO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuNnMgZWFzZTtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIC42cyBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjZzIGVhc2U7IH1cbiAgICAgICAgLm1vYmlsZS1oZWFkZXIgLmhhbS1idXR0b24gLmhhbWJ1cmdlciBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHRvcDogMTJweDsgfVxuICAgICAgICAubW9iaWxlLWhlYWRlciAuaGFtLWJ1dHRvbiAuaGFtYnVyZ2VyIHNwYW46bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICB0b3A6IDI0cHg7IH1cbiAgICAgICAgLm1vYmlsZS1oZWFkZXIgLmhhbS1idXR0b24gLmhhbWJ1cmdlciBzcGFuOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5leHBhbmRlZCAubW9iaWxlLWhlYWRlciAuaGFtLWJ1dHRvbiAuaGFtYnVyZ2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgLmV4cGFuZGVkIC5tb2JpbGUtaGVhZGVyIC5oYW0tYnV0dG9uIC5oYW1idXJnZXIgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAvKiBJRSA5ICovXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgdG9wOiAxLjI1cmVtOyB9XG4gICAgLmV4cGFuZGVkIC5tb2JpbGUtaGVhZGVyIC5oYW0tYnV0dG9uIC5oYW1idXJnZXIgc3BhbjpsYXN0LW9mLXR5cGUge1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAvKiBJRSA5ICovXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB0b3A6IDEuMjVyZW07IH1cblxuLm1vYmlsZS1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogNC42ODc1cmVtO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTsgfVxuICAuZXhwYW5kZWQgLm1vYmlsZS1uYXYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm1vYmlsZS1uYXYgLm1vYmlsZS1zZWFyY2gge1xuICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtOyB9XG4gICAgLm1vYmlsZS1uYXYgLm1vYmlsZS1zZWFyY2ggZm9ybSB7XG4gICAgICBwYWRkaW5nOiAwIDMuNzVyZW0gMCAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm1vYmlsZS1uYXYgLm1vYmlsZS1zZWFyY2ggZm9ybSAuc2VhcmNoLWlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5tb2JpbGUtbmF2IC5tb2JpbGUtc2VhcmNoIGZvcm0gLnNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5tb2JpbGUtbmF2IC5tb2JpbGUtc2VhcmNoIGZvcm0gLnNlYXJjaC1zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWI0OTg3O1xuICAgICAgICB3aWR0aDogMy43NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9XG4gICAgICAgIC5tb2JpbGUtbmF2IC5tb2JpbGUtc2VhcmNoIGZvcm0gLnNlYXJjaC1zdWJtaXQgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLm1vYmlsZS1uYXYgLm1vYmlsZS1tZW51ID4gdWwgPiBsaSB7XG4gICAgYmFja2dyb3VuZDogIzFiNDg4NjsgfVxuICAgIC5tb2JpbGUtbmF2IC5tb2JpbGUtbWVudSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMTUzYzZhOyB9XG4gICAgLm1vYmlsZS1uYXYgLm1vYmlsZS1tZW51ID4gdWwgPiBsaVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAubW9iaWxlLW5hdiAubW9iaWxlLW1lbnUgPiB1bCA+IGxpW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYSB7XG4gICAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZjVmNWY1OyB9XG4gICAgLm1vYmlsZS1uYXYgLm1vYmlsZS1tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tb2JpbGUtbmF2IC5tb2JpbGUtbWVudSA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEgLmFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Fycm93LXVwLXcuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMC43NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTAuNjI1cmVtO1xuICAgICAgICB0b3A6IDAuNjg3NXJlbTsgfVxuICAgICAgLm1vYmlsZS1uYXYgLm1vYmlsZS1tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1vYmlsZS1uYXYgLm1vYmlsZS1tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYSAuYXJyb3cge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Fycm93LWRvd24tYi5zdmdcIik7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAubW9iaWxlLW5hdiAubW9iaWxlLW1lbnUgPiB1bCA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW5bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tb2JpbGUtbmF2IC5tb2JpbGUtbWVudSA+IHVsID4gbGkgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAubW9iaWxlLW5hdiAubW9iaWxlLW1lbnUgPiB1bCA+IGxpIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2Y1ZjVmNTsgfVxuICAubW9iaWxlLW5hdiAuY3RhLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07IH1cbiAgICAubW9iaWxlLW5hdiAuY3RhLWJ1dHRvbiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAgIC5tb2JpbGUtbmF2IC5jdGEtYnV0dG9uIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTUzQzZBOyB9XG5cbmJvZHk6bm90KC5ob21lKSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGJvZHk6bm90KC5ob21lKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG5cbmJvZHkuaG9tZSB7XG4gIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBib2R5LmhvbWUge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOyB9XG5cbi5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICBtYXJnaW4tbGVmdDogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJvdyAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5tYWluLXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGkgYSB7XG4gICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ubS1iLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4jcG9zdHMtY29udGFpbmVyLmxvYWRpbmc6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC43O1xuICB6LWluZGV4OiAxMDsgfVxuXG4jcG9zdHMtY29udGFpbmVyLmxvYWRpbmc6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3NwaW5uZXIuc3ZnXCIpO1xuICBwb3NpdGlvbjogNTAlIDUwJTtcbiAgd2lkdGg6IDEyLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMi41cmVtIDEyLjVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB6LWluZGV4OiAxMTsgfVxuXG4uc29sdXRpb25zLWluLWFjdGlvbiAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICMxNTNjNmE7XG4gIG1pbi1oZWlnaHQ6IDUuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc29sdXRpb25zLWluLWFjdGlvbiAubWFpbi10aXRsZTphZnRlciwgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc29sdXRpb25zLWluLWFjdGlvbiAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTUzYzZhO1xuICAgIGJvcmRlci13aWR0aDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG4gIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTUzYzZhO1xuICAgIGJvcmRlci13aWR0aDogMS4xMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc29sdXRpb25zLWluLWFjdGlvbiAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDIuMjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfSB9XG4gIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC5tYWluLXRpdGxlIGg1IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwIDAuNjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLm1haW4tdGl0bGUgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3Mge1xuICBiYWNrZ3JvdW5kOiAjMWI0ODg2O1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLnZpZGVvLWJsb2NrcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3Mge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07IH0gfVxuICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC52aWRlby1kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3MgLnZpZGVvLWRldGFpbHMgaDMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLnZpZGVvLWJsb2NrcyAudmlkZW8tZGV0YWlscyBoMyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC52aWRlby1kZXRhaWxzIGgzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH0gfVxuICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3MgLnZpZGVvLWRldGFpbHMgcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC52aWRlby1kZXRhaWxzIGEudmlkZW8tYmxvY2stY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3MgLnZpZGVvLWRldGFpbHMgYS52aWRlby1ibG9jay1jdGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTUzQzZBOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3MgLnZpZGVvLWRldGFpbHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLnZpZGVvLWJsb2NrcyAucmVzcG9uc2l2ZS1lbWJlZCB7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC5yZXNwb25zaXZlLWVtYmVkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3MgLmJvcmRlcmVkLXRvcCB7XG4gICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgIzE1M2M2YTtcbiAgICBtYXJnaW46IDMuNzVyZW0gMC45Mzc1cmVtIDAgMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLnZpZGVvLWJsb2NrcyAuYm9yZGVyZWQtdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC5ib3JkZXJlZC1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxNTNjNmE7XG4gICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAzLjc1cmVtIDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNvbHV0aW9ucy1pbi1hY3Rpb24gLnZpZGVvLWJsb2NrcyAuYm9yZGVyZWQtYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC5xdW90ZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zb2x1dGlvbnMtaW4tYWN0aW9uIC52aWRlby1ibG9ja3MgLnF1b3RlIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC5xdW90ZSBoMiBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuc29sdXRpb25zLWluLWFjdGlvbiAudmlkZW8tYmxvY2tzIC5xdW90ZSBoMiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmxlYWRlcnMtdHJ1c3QgLm1haW4tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmO1xuICBtaW4taGVpZ2h0OiA1LjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmxlYWRlcnMtdHJ1c3QgLm1haW4tdGl0bGU6YWZ0ZXIsIC5sZWFkZXJzLXRydXN0IC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmxlYWRlcnMtdHJ1c3QgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGVhZGVycy10cnVzdCAubWFpbi10aXRsZTphZnRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH0gfVxuICAubGVhZGVycy10cnVzdCAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxlYWRlcnMtdHJ1c3QgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIuMjVyZW07IH0gfVxuICAubGVhZGVycy10cnVzdCAubWFpbi10aXRsZSBoNSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwLjYyNXJlbSAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sZWFkZXJzLXRydXN0IC5tYWluLXRpdGxlIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4ubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIHtcbiAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxlYWRlcnMtdHJ1c3QgLmxvZ29zLXF1b3RlcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIC5sZWFkZXJzLXRydXN0IC5sb2dvcy1xdW90ZXMgLmxvZ29zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5sb2dvcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5sZWFkZXJzLXRydXN0IC5sb2dvcy1xdW90ZXMgLnF1b3RlcyAucXVvdGUtYm9yZGVyIHtcbiAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjMGQ3ZWZmOyB9XG4gIC5sZWFkZXJzLXRydXN0IC5sb2dvcy1xdW90ZXMgLnF1b3RlcyAucXVvdGUge1xuICAgIHBhZGRpbmctdG9wOiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5xdW90ZXMgLnF1b3RlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNDM3NXJlbTsgfSB9XG4gICAgLmxlYWRlcnMtdHJ1c3QgLmxvZ29zLXF1b3RlcyAucXVvdGVzIC5xdW90ZSAucXVvdGUtYXV0aG9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5sZWFkZXJzLXRydXN0IC5sb2dvcy1xdW90ZXMgLnF1b3RlcyAucXVvdGUgLnF1b3RlLWF1dGhvciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5xdW90ZXMgLnF1b3RlIC5xdW90ZS1hdXRob3IgaDUge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5xdW90ZXMgLnF1b3RlIC5xdW90ZS1hdXRob3Igc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5xdW90ZXMgLnF1b3RlIC5jbGVhciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sZWFkZXJzLXRydXN0IC5sb2dvcy1xdW90ZXMgLnF1b3RlcyAucXVvdGUgLnF1b3RlLXRleHQge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5xdW90ZXMgLnF1b3RlIC5xdW90ZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gICAgICAubGVhZGVycy10cnVzdCAubG9nb3MtcXVvdGVzIC5xdW90ZXMgLnF1b3RlIC5xdW90ZS10ZXh0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICfigJwgJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMC44NzVyZW07IH1cbiAgICAgIC5sZWFkZXJzLXRydXN0IC5sb2dvcy1xdW90ZXMgLnF1b3RlcyAucXVvdGUgLnF1b3RlLXRleHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAn4oCdJzsgfVxuXG4uY3VzdG9taXplZC1zb2x1dGlvbnMgLm1haW4tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAubWFpbi10aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiA1LjYyNXJlbTsgfSB9XG4gIC5jdXN0b21pemVkLXNvbHV0aW9ucyAubWFpbi10aXRsZTphZnRlciwgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG4gIC5jdXN0b21pemVkLXNvbHV0aW9ucyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViZWJlYjtcbiAgICBib3JkZXItd2lkdGg6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMi4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjI1cmVtOyB9IH1cbiAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5tYWluLXRpdGxlIGg1IHtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwIDEuMjVyZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLm1haW4tdGl0bGUgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgPiAucm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgPiAucm93IC5yb3cge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIGgzIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG4gIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDEuNTYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW0gMDsgfSB9XG4gICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyAuZmVhdHVyZSAuZmVhdHVyZS1pY29uIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHdpZHRoOiAzLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyAuZmVhdHVyZSAuZmVhdHVyZS1pY29uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDAuOTM3NXJlbSAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtaWNvbiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIuNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIC5mZWF0dXJlIC5mZWF0dXJlLWljb24gaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMy4zNzVyZW07IH0gfVxuICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtdGl0bGUge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtdGl0bGUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtdGl0bGUgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtdGl0bGUgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtdGl0bGUgcCBhIHtcbiAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIC5mZWF0dXJlIC5mZWF0dXJlLXRpdGxlIHAgYSB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG4gICAgICAgICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyAuZmVhdHVyZSAuZmVhdHVyZS10aXRsZSBwIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIC5mZWF0dXJlIC5mZWF0dXJlLWN0YSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyAuZmVhdHVyZSAuZmVhdHVyZS1jdGEge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW0gMCAxLjI1cmVtOyB9IH1cbiAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmZlYXR1cmUgLmZlYXR1cmUtY3RhIGEge1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA2LjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIC5mZWF0dXJlIC5mZWF0dXJlLWN0YSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIC5jdGEtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jdXN0b21pemVkLXNvbHV0aW9ucyAuZmVhdHVyZXMgLmN0YS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjQuMjVyZW07IH0gfVxuICAuY3VzdG9taXplZC1zb2x1dGlvbnMgLmZlYXR1cmVzIC5jdGEtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmN1c3RvbWl6ZWQtc29sdXRpb25zIC5mZWF0dXJlcyAuY3RhLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfSB9XG5cbi5mZWF0dXJlZC13aWRnZXRzIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmVkLXdpZGdldHMge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC13aWRnZXRzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtd2lkZ2V0cyAucm93IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtd2lkZ2V0cyAucm93IC5sYXJnZS00IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IHtcbiAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmZlYXR1cmVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogMTUuMzEyNXJlbTtcbiAgICAgICAgICB3aWR0aDogMjVyZW07XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mZWF0dXJlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMi41cmVtO1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTUuMzEyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgLmZlYXR1cmVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWNvbnRlbnRzIC53aWRnZXQtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAxLjI1cmVtIDEuODc1cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtY29udGVudHMgLndpZGdldC1kZXRhaWxzIHtcbiAgICAgICAgICBoZWlnaHQ6IDEyLjE4NzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMC42MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZlYXR1cmVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWNvbnRlbnRzIC53aWRnZXQtZGV0YWlscyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMi4xODc1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAgIC5mZWF0dXJlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1jb250ZW50cyAud2lkZ2V0LWRldGFpbHMgaDUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtIDA7IH1cbiAgICAgIC5mZWF0dXJlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1jb250ZW50cyAud2lkZ2V0LWRldGFpbHMgaDIge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfVxuICAgICAgLmZlYXR1cmVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWNvbnRlbnRzIC53aWRnZXQtZGV0YWlscyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtOyB9XG4gICAgLmZlYXR1cmVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWNvbnRlbnRzIC53aWRnZXQtZm9vdGVyIHtcbiAgICAgIGhlaWdodDogNC4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogNC4zNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mZWF0dXJlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1jb250ZW50cyAud2lkZ2V0LWZvb3RlciB7XG4gICAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNi4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtY29udGVudHMgLndpZGdldC1mb290ZXIge1xuICAgICAgICAgIGhlaWdodDogNC4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gICAgICAuZmVhdHVyZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtY29udGVudHMgLndpZGdldC1mb290ZXIgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5mZWF0dXJlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1jb250ZW50cyAud2lkZ2V0LWZvb3RlciBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cblxuLmJnLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogIzZhOGUyYzsgfVxuICAuYmctZ3JlZW46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMxZjZlMDg7IH1cblxuLmJnLW9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNjODZiMWY7IH1cbiAgLmJnLW9yYW5nZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2QxNDcwNDsgfVxuXG4uYmctbmF2eSB7XG4gIGJhY2tncm91bmQ6ICM1NDdiOTY7IH1cbiAgLmJnLW5hdnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMxYzY0YTE7IH1cblxuLmJnLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMWI0ODg2OyB9XG4gIC5iZy1ibHVlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGEzYTc0OyB9XG5cbi5iZy1ncmF5IHtcbiAgYmFja2dyb3VuZDogIzY5Njk2OTsgfVxuICAuYmctZ3JheTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuXG4udGV4dC1ncmVlbiB7XG4gIGNvbG9yOiAjNmE4ZTJjOyB9XG5cbi50ZXh0LW9yYW5nZSB7XG4gIGNvbG9yOiAjYzg2YjFmOyB9XG5cbi50ZXh0LW5hdnkge1xuICBjb2xvcjogIzU0N2I5NjsgfVxuXG4udGV4dC1ibHVlIHtcbiAgY29sb3I6ICMxYjQ4ODY7IH1cblxuLnRleHQtZ3JheSB7XG4gIGNvbG9yOiAjNjk2OTY5OyB9XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yICsgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICNGRjM0MjI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwOyB9XG4gICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSBsYWJlbDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3g6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICAgICAgICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgICAgICAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgICAgICAgICAgIC8qIGRpc2FibGVkIGNoZWNrYm94ICovXG4gICAgICAgICAgICAgIC8qIGFjY2Vzc2liaWxpdHkgKi8gfVxuICAgICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuICAgICAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODc1cmVtOyB9IH1cbiAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMTI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzYzNjM2M7IH1cbiAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ8OXJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMC44MTI1cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gICAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gICAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNiYmI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfVxuICAgICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTsgfVxuICAgICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCAuZ2ZpZWxkX2NoZWNrYm94IGxpIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhYWE7IH1cbiAgICAgICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG4gICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX3RleHQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX3RleHQgaW5wdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl90ZXh0IGlucHV0OmZvY3VzIHtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfZW1haWwgaW5wdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCBpbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZWQ7IH1cbiAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgIGJvZHkgLnN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7IH1cbiAgICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGRfZXJyb3IgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgYm9keSAuc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMDsgfVxuICAgICAgICBib2R5IC5zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiA2LjU2MjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIG1heC13aWR0aDogNjIuNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOyB9XG4gICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fYW5jaG9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNXJlbTsgfVxuICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIsXG4gICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtLFxuICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IDYyLjVyZW07IH1cbiAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC52YWxpZGF0aW9uX2Vycm9yLFxuICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgICAgY29sb3I6ICM4RTAwMDU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjsgfVxuICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzLFxuICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQsXG4gICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLFxuICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQsXG4gICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkOmFmdGVyLFxuICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yOmFmdGVyLFxuICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZDphZnRlcixcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdmaWVsZF9sYWJlbCxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLFxuICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwsXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXIsXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5nZmllbGRfbGFiZWwsXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLFxuICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5nZmllbGRfbGFiZWwsXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdmaWVsZF9sYWJlbCxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2ZpZWxkX2xhYmVsLFxuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsLFxuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdmaWVsZF9sYWJlbCxcbiAgICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDQyJTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdmaWVsZF9sYWJlbCAuZ2ZpZWxkX3JlcXVpcmVkLFxuICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCAuZ2ZpZWxkX3JlcXVpcmVkLFxuICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5nZmllbGRfbGFiZWwgLmdmaWVsZF9yZXF1aXJlZCxcbiAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBkaXYuZ2lucHV0X2NvbnRhaW5lcixcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lcixcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgZGl2LmdpbnB1dF9jb250YWluZXIsXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDcuNDM3NXJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGRpdi5naW5wdXRfY29udGFpbmVyLFxuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lcixcbiAgICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGRpdi5naW5wdXRfY29udGFpbmVyLFxuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDExLjE4NzVyZW07XG4gICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogNTglOyB9IH1cbiAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgZGl2LmdpbnB1dF9jb250YWluZXIgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pLFxuICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb250YWluZXIgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pLFxuICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSxcbiAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb250YWluZXIgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyLjA2MjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBkaXYuZ2lucHV0X2NvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSk6Zm9jdXMsXG4gICAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKTpmb2N1cyxcbiAgICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKTpmb2N1cyxcbiAgICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSk6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKTo6cGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKTo6cGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBkaXYuZ2lucHV0X2NvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSk6OnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSksXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29udGFpbmVyIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSkge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM4RTAwMDU7IH1cbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMy4xMjVyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIHRvcDogMy4xMjVyZW07XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBjb2xvcjogIzhFMDAwNTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjsgfVxuICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlcixcbiAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogLTMuMTI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDcuNDM3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgYm9keSAubW92ci1zdWJzY3JpcHRpb24tZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuICAgICAgICAgICAgICBib2R5IC5tb3ZyLXN1YnNjcmlwdGlvbi1mb3JtIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMS4xODc1cmVtOyB9IH1cbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAgIGJvZHkgLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0gLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzJhNTk5NjsgfVxuXG4ucHJvZHVjdC10aXRsZS13cmFwcGVyIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMCAwLjYyNXJlbSAwOyB9XG4gIC5wcm9kdWN0LXRpdGxlLXdyYXBwZXIgLnByb2R1Y3QtdGl0bGUgaDEge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzFiNDg4NjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdC10aXRsZS13cmFwcGVyIC5wcm9kdWN0LXRpdGxlIGgxIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gIC5wcm9kdWN0LXRpdGxlLXdyYXBwZXIgLnByb2R1Y3QtdGl0bGUgLnNpZ251cC1pbnRyby10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cblxuLnByb2R1Y3RzLWZpbHRlcnMge1xuICBwYWRkaW5nOiAzLjc1cmVtIDA7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgLnByb2R1Y3RzLWZpbHRlcnMgLmZpbHRlcnMtZm9ybSB7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICAucHJvZHVjdHMtZmlsdGVycyAuZmlsdGVycy1mb3JtIGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLnByb2R1Y3RzLWZpbHRlcnMgLmZpbHRlcnMtZm9ybSBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXJyb3ctZG93bi1nLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xLjY4NzVyZW0gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtIDAuNzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuZmlsdGVycy1mb3JtIHNlbGVjdCB7XG4gICAgICAgICAgd2lkdGg6IDI4LjkzNzVyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9IH1cbiAgICAucHJvZHVjdHMtZmlsdGVycyAuZmlsdGVycy1mb3JtIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjNjk2OTY5O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuZmlsdGVycy1mb3JtIGJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEyLjYyNXJlbTsgfSB9XG4gICAgICAucHJvZHVjdHMtZmlsdGVycyAuZmlsdGVycy1mb3JtIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1NTU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuY291bnQge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNmNWY1ZjU7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMy43NXJlbSAwLjkzNzVyZW0gMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMTEuMjVyZW0gMS44NzVyZW0gMS44NzVyZW07IH0gfVxuICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLWIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC8qIElFIDkgKi9cbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gaDMsIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBwIHtcbiAgICAgICAgICBjb2xvcjogIzFiNDg4NjsgfVxuICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC13LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjkzNzVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuOTM3NXJlbSAxLjE4NzVyZW07IH0gfVxuICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIGgzIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfVxuICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHAge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAwLjI1cmVtIHNvbGlkICNmNWY1ZjU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAzLjc1cmVtIDEuODc1cmVtIDMuNzVyZW0gMS44NzVyZW07IH0gfVxuICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnByb2QtZGVzYyB7XG4gICAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lci5jb3VudC0yIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyLmNvdW50LTIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIgdGQ6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMy43NXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lci5jb3VudC0yIC5zaGFkb3ctMCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyLmNvdW50LTIgLnNoYWRvdy0wIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH0gfVxuICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIuY291bnQtMiAuc2hhZG93LTEge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lci5jb3VudC0yIC5zaGFkb3ctMSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMS44NzVyZW07XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMS44NzVyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDQyJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzglO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH0gfVxuICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyLmNvdW50LTEgLnNoYWRvdy0wIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIuY291bnQtMSAuc2hhZG93LTAge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgYm90dG9tOiAtMS44NzVyZW07XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9IH1cbiAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lci5jb3VudC0zIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyLmNvdW50LTMgLnNoYWRvdy0wIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIuY291bnQtMyAuc2hhZG93LTAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTEuODc1cmVtO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEuODc1cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfSB9XG4gICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lci5jb3VudC0zIC5zaGFkb3ctMSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyLmNvdW50LTMgLnNoYWRvdy0xIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMjclO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfSB9XG4gICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lci5jb3VudC0zIC5zaGFkb3ctMiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyLmNvdW50LTMgLnNoYWRvdy0yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xLjg3NXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogNTQlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfSB9XG4gICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZCB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQua2V5IHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIucm93IHRkLmtleTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2RjZGNkYztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQudmFsdWUge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9XG4gICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC52YWx1ZTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC52YWx1ZSBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7IH1cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQudmFsdWUgaDMgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC52YWx1ZSBoMyBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC52YWx1ZSBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQud2lkdGgtMiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogNDAlOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQucHJvZHVjdC1jdGFzIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIucm93IHRkLnByb2R1Y3QtY3Rhcy5maXJzdC1vbmUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC5wcm9kdWN0LWN0YXMuZmlyc3Qtb25lOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgfVxuICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQucHJvZHVjdC1jdGFzIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQucHJvZHVjdC1jdGFzIGEudHJ5LWJyb3dzZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIucm93IHRkLnByb2R1Y3QtY3RhcyBhLnRyeS1icm93c2VyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjQzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQtYmx1ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNjg3NXJlbSAxLjE2MjVyZW07IH1cbiAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC5wcm9kdWN0LWN0YXMgYS50cnktYnJvd3Nlcjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7IH1cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQucHJvZHVjdC1jdGFzIGEudHJhaWwtcGVyaW9kIHtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdyB0ZC5wcm9kdWN0LWN0YXMgYS50cmFpbC1wZXJpb2Q6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3cgdGQucHJvZHVjdC1jdGFzIGEuYnV5LW5vdyB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIucm93IHRkLnByb2R1Y3QtY3RhcyBhLmJ1eS1ub3c6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjsgfVxuICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyLnJvdzpmaXJzdC1jaGlsZCB0ZDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ci5yb3c6bGFzdC1jaGlsZCB0ZC5rZXk6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZGJkZGRjO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIucm93Omxhc3QtY2hpbGQgdGQudmFsdWU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RjZGNkYztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG4gICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwIDAuMTg3NXJlbSAwOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQucHJvZHVjdCBoMyB7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHRib2R5IHRyIHRkLnByb2R1Y3QgaDMgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmOyB9XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHRib2R5IHRyIHRkLnByb2R1Y3QgaDMgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5wcm9kdWN0IHAge1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQuZmVhdHVyZXMgaDMge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQuZmVhdHVyZXMgcCB7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5jdGFzIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHRib2R5IHRyIHRkLmN0YXMgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5jdGFzIGEudHJ5LWJyb3dzZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHRib2R5IHRyIHRkLmN0YXMgYS50cnktYnJvd3NlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC40Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMS4xNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXJpZ2h0LWJsdWUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjY4NzVyZW0gMS4xNjI1cmVtOyB9XG4gICAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQuY3RhcyBhLnRyeS1icm93c2VyOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTsgfVxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5jdGFzIGEudHJhaWwtcGVyaW9kIHtcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5jdGFzIGEudHJhaWwtcGVyaW9kOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWI0ODg2OyB9XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUtbW9iaWxlIHRib2R5IHRyIHRkLmN0YXMgYS5idXktbm93IHtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQuY3RhcyBhLmJ1eS1ub3c6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjsgfVxuICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzLWZpbHRlcnMgLmNhdGVnb3J5LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgICAgIC5wcm9kdWN0cy1maWx0ZXJzIC5jYXRlZ29yeS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLWIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLyogSUUgOSAqL1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIGgzLCAucHJvZHVjdHMtZmlsdGVycyAuY2F0ZWdvcnktYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHAge1xuICAgICAgICBjb2xvcjogIzFiNDg4NjsgfVxuXG4ucHJvZHVjdC1pbnRybyB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgLnByb2R1Y3QtaW50cm8gLnByb2R1Y3QtZGV0YWlscyBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWRldGFpbHMgcCBhIHtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWRldGFpbHMgcCBhOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWRldGFpbHMgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgICAucHJvZHVjdC1pbnRybyAucHJvZHVjdC1kZXRhaWxzIHA6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWRldGFpbHMgcDpmaXJzdC1jaGlsZCBhOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWRldGFpbHMgdWwgbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLnByb2R1Y3QtaW50cm8gLnByb2R1Y3QtY3RhcyB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtaW50cm8gLnByb2R1Y3QtY3RhcyB7XG4gICAgICAgIHdpZHRoOiAzMC45Mzc1cmVtOyB9IH1cbiAgICAucHJvZHVjdC1pbnRybyAucHJvZHVjdC1jdGFzIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHJvZHVjdC1pbnRybyAucHJvZHVjdC1jdGFzIGEudHJ5LWJyb3dzZXIge1xuICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWN0YXMgYS50cnktYnJvd3NlcjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjQzNzVyZW07XG4gICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQtYmx1ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjY4NzVyZW0gMS4xNjI1cmVtOyB9XG4gICAgICAgIC5wcm9kdWN0LWludHJvIC5wcm9kdWN0LWN0YXMgYS50cnktYnJvd3Nlcjpob3ZlciB7XG4gICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTsgfVxuICAgICAgLnByb2R1Y3QtaW50cm8gLnByb2R1Y3QtY3RhcyBhLnRyYWlsLXBlcmlvZCB7XG4gICAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzI5OGRmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAgICAgLnByb2R1Y3QtaW50cm8gLnByb2R1Y3QtY3RhcyBhLnRyYWlsLXBlcmlvZDpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWI0ODg2OyB9XG4gICAgICAucHJvZHVjdC1pbnRybyAucHJvZHVjdC1jdGFzIGEuYnV5LW5vdyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICAgICAucHJvZHVjdC1pbnRybyAucHJvZHVjdC1jdGFzIGEuYnV5LW5vdzpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjsgfVxuXG4ucmVjb21tZW5kZWQtcHJpY2luZyAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLm1haW4tdGl0bGUge1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07IH0gfVxuICAucmVjb21tZW5kZWQtcHJpY2luZyAubWFpbi10aXRsZTphZnRlciwgLnJlY29tbWVuZGVkLXByaWNpbmcgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5tYWluLXRpdGxlOmFmdGVyLCAucmVjb21tZW5kZWQtcHJpY2luZyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnJlY29tbWVuZGVkLXByaWNpbmcgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH1cbiAgLnJlY29tbWVuZGVkLXByaWNpbmcgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfVxuICAucmVjb21tZW5kZWQtcHJpY2luZyAubWFpbi10aXRsZSBoNSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLm1haW4tdGl0bGUgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucyB7XG4gIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuICAucmVjb21tZW5kZWQtcHJpY2luZyAucGxhbnMgLnBsYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAucmVjb21tZW5kZWQtcHJpY2luZyAucGxhbnMgLnBsYW4gaDQge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDsgfVxuICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucyAucGxhbiBwIHtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDVyZW07IH1cbiAgICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucyAucGxhbiBwOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLnBsYW5zIC5wbGFuIHAgPiBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLnBsYW5zIC5wbGFuIC5kZW1vLFxuICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucyAucGxhbiAuYnV5LW5vdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAucmVjb21tZW5kZWQtcHJpY2luZyAucGxhbnMgLnBsYW4gLmRlbW86aG92ZXIsXG4gICAgICAucmVjb21tZW5kZWQtcHJpY2luZyAucGxhbnMgLnBsYW4gLmJ1eS1ub3c6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWI0ODg2OyB9XG5cbi5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucy1tb2JpbGUge1xuICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH1cbiAgLnJlY29tbWVuZGVkLXByaWNpbmcgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzBkN2VmZjsgfVxuICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDQuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQuODc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC8qIElFIDkgKi9cbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC13LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMC43NXJlbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMS45Mzc1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjkzNzVyZW0gMS4xODc1cmVtOyB9IH1cbiAgICAucmVjb21tZW5kZWQtcHJpY2luZyAucGxhbnMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLnJlY29tbWVuZGVkLXByaWNpbmcgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHA6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5yZWNvbW1lbmRlZC1wcmljaW5nIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aGl0ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0LWRldGFpbHMgLm1haW4tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIG1pbi1oZWlnaHQ6IDUuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZTphZnRlciwgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZTphZnRlciwgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICAucHJvZHVjdC1kZXRhaWxzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgIGJvcmRlci13aWR0aDogMi4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTIuMjVyZW07IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZSBoNSB7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtZGV0YWlscyAubWFpbi10aXRsZSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9IH1cblxuLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5jaGFydC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAuY2hhcnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMS44NzVyZW07XG4gICAgICBib3R0b206IC0xLjg3NXJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLmNoYXJ0LWNvbnRhaW5lciB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIgdGQua2V5IHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIgdGQua2V5OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAuY2hhcnQtY29udGFpbmVyIHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyIHRkLnZhbHVlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5jaGFydC1jb250YWluZXIgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIgdGQudmFsdWU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb21vdGlvbi1xdWVzdGlvbiB7XG4gICAgd2lkdGg6IDY1JTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvbW90aW9uLXF1ZXN0aW9uIGEge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9tb3Rpb24tcXVlc3Rpb24gYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNmZmY7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjgxMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtYi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAvKiBJRSA5ICovXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC13LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtIDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgLyogU2FmYXJpICovXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjkzNzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjkzNzVyZW0gMS4xODc1cmVtOyB9IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtd3lzaXd5ZyB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5wYXJ0LXd5c2l3eWcgaDQge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC13eXNpd3lnIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtd3lzaXd5ZyBhOm5vdChbY2xhc3M9XCJidXktbm93XCJdKSB7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5wYXJ0LWJ1dHRvbnMtc2V0IC5kYnV0dG9uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1idXR0b25zLXNldCAuZGJ1dHRvbi1ibG9jayBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1idXR0b25zLXNldCAuZGJ1dHRvbi1ibG9jayBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtYnV0dG9ucy1zZXQgLmRidXR0b24tYmxvY2sgcCBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtYnV0dG9ucy1zZXQgLmRidXR0b24tYmxvY2sgcCBhIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMS42ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cbiAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1idXR0b25zLXNldCAuZGJ1dHRvbi1ibG9jayBwIGE6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1idXR0b25zLXNldCAuZGJ1dHRvbi1ibG9jayAuY3RhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5wYXJ0LWJ1dHRvbnMtc2V0IC5kYnV0dG9uLWJsb2NrIC5jdGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7IH1cbiAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1jb21wYXJpc29uIHAge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtOyB9XG4gICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtY29tcGFyaXNvbiB0YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1jb21wYXJpc29uIHRhYmxlIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1jb21wYXJpc29uIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2UwZTBlMDsgfVxuICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtY29tcGFyaXNvbiB0YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtY29tcGFyaXNvbiB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1jb21wYXJpc29uIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlMGUwZTA7IH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5wYXJ0LWNvbXBhcmlzb24gdGFibGUgdGJvZHkgdHIgdGQucGFydG5lci1mZWF0dXJlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtOyB9XG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1jb21wYXJpc29uIHRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItY2hlY2sge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtY29tcGFyaXNvbiB0YWJsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLWNoZWNrIC5jaGVja2VkLWZlYXR1cmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjc2MjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjgwNjI1cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvY2hlY2stZGIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5wYXJ0LWNvbXBhcmlzb24gdGFibGUgdGJvZHkgdHIgdGQucGFydG5lci1jaGVjazpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0wLjYyNXJlbTsgfVxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtY29tcGFyaXNvbiB0YWJsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLXR5cGUtY3RhIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtOyB9XG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jaGFydC1hY2NvcmRpb24gLnByb2R1Y3QtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucGFydC1jb21wYXJpc29uIHRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItdHlwZS1jdGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IC0wLjYyNXJlbTsgfVxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnBhcnQtY29tcGFyaXNvbiB0YWJsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLXR5cGUtY3RhLWVtcHR5OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgI2RiZGRkYztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAtMC42MjVyZW07XG4gICAgICAgICAgICAgIHJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLmNoYXJ0LXRhYmxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyAuY2hhcnQtYWNjb3JkaW9uIC5wcm9kdWN0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyIHRkLmtleSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMgLmNoYXJ0LWFjY29yZGlvbiAucHJvZHVjdC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLmNoYXJ0LXRhYmxlIHRib2R5IHRyIHRkLnZhbHVlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuXG4ucHJvZHVjdC1kZXRhaWxzIC5idXktbm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6ICM2OTY5Njk7XG4gIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAuYnV5LW5vdzphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Rvd25sb2FkLXcuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIHdpZHRoOiAwLjc1NjI1cmVtO1xuICAgIGhlaWdodDogMS4wMTI1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjE4NzVyZW07IH1cbiAgLnByb2R1Y3QtZGV0YWlscyAuYnV5LW5vdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBjb2xvcjogI2VlZTsgfVxuICAucHJvZHVjdC1kZXRhaWxzIC5idXktbm93OmZvY3VzIHtcbiAgICBjb2xvcjogI2VlZTsgfVxuXG4ucHJvZHVjdC1yZXNvdXJjZXMgLm1haW4tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1yZXNvdXJjZXMgLm1haW4tdGl0bGUge1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAucHJvZHVjdC1yZXNvdXJjZXMgLm1haW4tdGl0bGU6YWZ0ZXIsIC5wcm9kdWN0LXJlc291cmNlcyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5tYWluLXRpdGxlOmFmdGVyLCAucHJvZHVjdC1yZXNvdXJjZXMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcm9kdWN0LXJlc291cmNlcyAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICAucHJvZHVjdC1yZXNvdXJjZXMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfVxuICAucHJvZHVjdC1yZXNvdXJjZXMgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAubWFpbi10aXRsZSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9IH1cblxuLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsgfSB9XG4gIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzIC5jb2x1bW5zIHtcbiAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZWJlYmViO1xuICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMgLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzIC5jb2x1bW5zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH0gfVxuICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcyAucmVzb3VyY2Uge1xuICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH1cbiAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWljb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWljb24gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA1LjU2MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1pY29uIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcyAucmVzb3VyY2UgLnJlc291cmNlLWRldGFpbHMge1xuICAgICAgbWluLWhlaWdodDogMTAuOTM3NXJlbTsgfVxuICAgICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1kZXRhaWxzIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtZGV0YWlscyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1jdGEge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzIC5yZXNvdXJjZSAucmVzb3VyY2UtY3RhIGEge1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMgLnJlc291cmNlIC5yZXNvdXJjZS1jdGEgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxLjY4NzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtOyB9XG4gICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMgLnJlc291cmNlOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcy1tb2JpbGUge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMtbW9iaWxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjsgfVxuICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGhlaWdodDogNC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogNC44NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZS5mdWxsOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC1iLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZS5mdWxsOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMS45Mzc1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjkzNzVyZW0gMS4xODc1cmVtOyB9IH1cbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLmZ1bGxbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC8qIElFIDkgKi9cbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgaDQge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHAge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucmVzb3VyY2UtY3RhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLnByb2R1Y3QtcmVzb3VyY2VzIC5yZXNvdXJjZXMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAucmVzb3VyY2UtY3RhIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBjb2xvcjogIzFiNDg4NjsgfVxuICAgICAgICAgIC5wcm9kdWN0LXJlc291cmNlcyAucmVzb3VyY2VzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLnJlc291cmNlLWN0YSBhIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMS42ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cbiAgICAgICAgICAucHJvZHVjdC1yZXNvdXJjZXMgLnJlc291cmNlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5yZXNvdXJjZS1jdGEgYTpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7IH1cblxuLnJlYWR5LXRvLWdvIHtcbiAgcGFkZGluZzogNC4zNzVyZW0gMCAwIDA7IH1cbiAgLnJlYWR5LXRvLWdvIC5jdGEtYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnJlYWR5LXRvLWdvIC5jdGEtYnV0dG9ucyAuY2xlYXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucmVhZHktdG8tZ28gLmN0YS1idXR0b25zIC5yZWFkeS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZWFkeS10by1nbyAuY3RhLWJ1dHRvbnMgLnJlYWR5LXRleHQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTsgfSB9XG4gICAgLnJlYWR5LXRvLWdvIC5jdGEtYnV0dG9ucyAuYnV5LW5vdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIC5yZWFkeS10by1nbyAuY3RhLWJ1dHRvbnMgLmJ1eS1ub3c6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWI0ODg2OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucmVhZHktdG8tZ28gLmN0YS1idXR0b25zIC5idXktbm93IHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMjAuMTI1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9IH1cbiAgICAucmVhZHktdG8tZ28gLmN0YS1idXR0b25zIC50cmFpbC1wZXJpb2Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyOThkZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZWFkeS10by1nbyAuY3RhLWJ1dHRvbnMgLnRyYWlsLXBlcmlvZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiAyMC41NjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH0gfVxuICAgICAgLnJlYWR5LXRvLWdvIC5jdGEtYnV0dG9ucyAudHJhaWwtcGVyaW9kOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzFiNDg4NjsgfVxuXG4ucmVsYXRlZC13aWRnZXRzIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwIDEuNTYyNXJlbSAwOyB9XG4gIC5yZWxhdGVkLXdpZGdldHMgLndpZGdldCB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtIDAgMS44NzVyZW07XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAucmVsYXRlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1pbm5lciAud2lkZ2V0LXR5cGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5yZWxhdGVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWlubmVyIC53aWRnZXQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLnJlbGF0ZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW5uZXIgLndpZGdldC10aXRsZS50ZXN0aW1vbmlhbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAucmVsYXRlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1pbm5lciAud2lkZ2V0LXRpdGxlLnRlc3RpbW9uaWFsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ+KAnCc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgICAgICAgLnJlbGF0ZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW5uZXIgLndpZGdldC10aXRsZS50ZXN0aW1vbmlhbDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ+KAnSc7IH1cbiAgICAucmVsYXRlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1pbm5lciAud2lkZ2V0LWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW46IDEuNTYyNXJlbSAwOyB9XG4gICAgICAucmVsYXRlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1pbm5lciAud2lkZ2V0LWltYWdlIGltZyB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAucmVsYXRlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1pbm5lciAud2lkZ2V0LWV4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW5uZXIgLndpZGdldC1yZXBvcnQtZGF0ZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtaW5uZXIgLndpZGdldC1hdXRob3Ige1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5yZWxhdGVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWlubmVyIC53aWRnZXQtcG9zaXRpb24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5yZWxhdGVkLXdpZGdldHMgLndpZGdldCAud2lkZ2V0LWZvb3RlciB7XG4gICAgICBoZWlnaHQ6IDQuMjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0LjI4NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgICAgLnJlbGF0ZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtZm9vdGVyOmVtcHR5IHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgLnJlbGF0ZWQtd2lkZ2V0cyAud2lkZ2V0IC53aWRnZXQtZm9vdGVyIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAucmVsYXRlZC13aWRnZXRzIC53aWRnZXQgLndpZGdldC1mb290ZXIgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxLjY4NzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAucmVsYXRlZC13aWRnZXRzIC5uby1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzY5Njk2OTsgfVxuICAucmVsYXRlZC13aWRnZXRzIC5zZWUtbW9yZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAucmVsYXRlZC13aWRnZXRzIC5zZWUtbW9yZSBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgIC5yZWxhdGVkLXdpZGdldHMgLnNlZS1tb3JlIGEgaW1nIHtcbiAgICAgICAgd2lkdGg6IDAuNjE4NzVyZW07XG4gICAgICAgIGhlaWdodDogMC45MTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAgICAgLnJlbGF0ZWQtd2lkZ2V0cyAuc2VlLW1vcmUgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiA0Ljg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDQuODc1cmVtO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5yZWxhdGVkLXdpZGdldHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpob3ZlciwgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLXcuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAvKiBJRSA5ICovXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAvKiBTYWZhcmkgKi9cbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC13LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMC43NXJlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIC8qIFNhZmFyaSAqL1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZWxhdGVkLXdpZGdldHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEuOTM3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjkzNzVyZW0gMS4xODc1cmVtOyB9IH1cblxuLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMCAxLjg3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7IH1cbiAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtaW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLndpZGdldC1pbm5lciAud2lkZ2V0LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5yZWxhdGVkLXdpZGdldHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAud2lkZ2V0LWlubmVyIC53aWRnZXQtdGl0bGUudGVzdGltb25pYWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtaW5uZXIgLndpZGdldC10aXRsZS50ZXN0aW1vbmlhbDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICfigJwnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtMC45Mzc1cmVtOyB9XG4gICAgICAgIC5yZWxhdGVkLXdpZGdldHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAud2lkZ2V0LWlubmVyIC53aWRnZXQtdGl0bGUudGVzdGltb25pYWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICfigJ0nOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtaW5uZXIgLndpZGdldC1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgbWFyZ2luOiAxLjU2MjVyZW0gMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLndpZGdldC1pbm5lciAud2lkZ2V0LWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMzMlOyB9IH1cbiAgICAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLndpZGdldC1pbm5lciAud2lkZ2V0LWV4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtaW5uZXIgLndpZGdldC1yZXBvcnQtZGF0ZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtaW5uZXIgLndpZGdldC1hdXRob3Ige1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5yZWxhdGVkLXdpZGdldHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAud2lkZ2V0LWlubmVyIC53aWRnZXQtcG9zaXRpb24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLndpZGdldC1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtZm9vdGVyOmVtcHR5IHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAucmVsYXRlZC13aWRnZXRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLndpZGdldC1mb290ZXIgYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnJlbGF0ZWQtd2lkZ2V0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aWRnZXQtZm9vdGVyIGEgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTsgfVxuXG4uYWJvdXQtdXMge1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwIDAgMDtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAuYWJvdXQtdXMgLnBhZ2UtaW50cm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgIC5hYm91dC11cyAucGFnZS1pbnRybyBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYWJvdXQtdXMgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gICAgLmFib3V0LXVzIC5wYWdlLWludHJvIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5hYm91dC11cyAucGFnZS1pbnRybyBwIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5hYm91dC11cyAucGFnZS1pbnRybyBwOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5hYm91dC11cyAucGFnZS1pbnRybyAuaW50cm8tY3RhIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuYWJvdXQtdXMgLnRlYW0ge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgICAuYWJvdXQtdXMgLnRlYW0gLm1lbWJlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjgxMjVyZW07XG4gICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZWJlYmViO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYWJvdXQtdXMgLnRlYW0gLm1lbWJlciB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAuYWJvdXQtdXMgLnRlYW0gLm1lbWJlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgIC5hYm91dC11cyAudGVhbSAubWVtYmVyIC5tZW1iZXItcGljdHVyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgICAgLmFib3V0LXVzIC50ZWFtIC5tZW1iZXIgLm1lbWJlci1waWN0dXJlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2ViZWJlYjtcbiAgICAgICAgICBwYWRkaW5nOiAwLjE4NzVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmFib3V0LXVzIC50ZWFtIC5tZW1iZXIgLm1lbWJlci1waWN0dXJlIGltZyB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAuYWJvdXQtdXMgLnRlYW0gLm1lbWJlciAubWVtYmVyLW5hbWUge1xuICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuYWJvdXQtdXMgLnRlYW0gLm1lbWJlciAubWVtYmVyLXBvc2l0aW9uIHtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmFib3V0LXVzIC50ZWFtIC5tZW1iZXIgLm1lbWJlci1iaW8ge1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLmFib3V0LXVzIC50ZWFtIC5tZW1iZXIgLm1lbWJlci1iaW8gcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmFib3V0LXVzIC50ZWFtIC5tZW1iZXIgLm1lbWJlci1iaW8tcmlnaHQge1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYWJvdXQtdXMgLnRlYW0gLm1lbWJlciAubWVtYmVyLWJpby1yaWdodCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0Ljc1cmVtOyB9IH1cbiAgICAgICAgLmFib3V0LXVzIC50ZWFtIC5tZW1iZXIgLm1lbWJlci1iaW8tcmlnaHQgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuYWJvdXQtdXMgLmN1c3RvbWVycyB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDAgMS44NzVyZW0gMDsgfVxuICAgIC5hYm91dC11cyAuY3VzdG9tZXJzIC5jdXN0b21lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBoZWlnaHQ6IDcuMzEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmFib3V0LXVzIC5jdXN0b21lcnMgLmN1c3RvbWVyIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLnRoZS1wYWdlIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMCAwIDA7IH1cbiAgLnRoZS1wYWdlIC5wYWdlLWludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAudGhlLXBhZ2UgLnBhZ2UtaW50cm8gaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC50aGUtcGFnZSAucGFnZS1pbnRybyBoMSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtOyB9IH1cbiAgICAudGhlLXBhZ2UgLnBhZ2UtaW50cm8gcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgIC50aGUtcGFnZSAucGFnZS1pbnRybyBwIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC50aGUtcGFnZSAucGFnZS1pbnRybyBwOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnVuZGxlcy1ib3ggLm1haW4tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idW5kbGVzLWJveCAubWFpbi10aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiA1LjYyNXJlbTsgfSB9XG4gIC5idW5kbGVzLWJveCAubWFpbi10aXRsZTphZnRlciwgLmJ1bmRsZXMtYm94IC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnVuZGxlcy1ib3ggLm1haW4tdGl0bGU6YWZ0ZXIsIC5idW5kbGVzLWJveCAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmJ1bmRsZXMtYm94IC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJ1bmRsZXMtYm94IC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG4gIC5idW5kbGVzLWJveCAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJ1bmRsZXMtYm94IC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMi4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjI1cmVtOyB9IH1cbiAgLmJ1bmRsZXMtYm94IC5tYWluLXRpdGxlIGg1IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwIDAuNjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJ1bmRsZXMtYm94IC5tYWluLXRpdGxlIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4uYnVuZGxlcy1ib3ggLmJ1bmRsZXMge1xuICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIC5idW5kbGVzLWJveCAuYnVuZGxlcyAuYnVuZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAxLjg3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMgLmJ1bmRsZSAuYnVuZGxlLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMgLmJ1bmRsZSAuYnVuZGxlLWljb24gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA0LjY4NzVyZW07IH1cbiAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMgLmJ1bmRsZSBoNCB7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcyAuYnVuZGxlIHAge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgbWluLWhlaWdodDogMTIuNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcyAuYnVuZGxlIHA6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1bmRsZXMtYm94IC5idW5kbGVzIC5idW5kbGUgLmRlbW8ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzg2YjFmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICAgLmJ1bmRsZXMtYm94IC5idW5kbGVzIC5idW5kbGUgLmRlbW86aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYzg1NjA4OyB9XG4gICAgLmJ1bmRsZXMtYm94IC5idW5kbGVzIC5idW5kbGUgLmxlYXJuLW1vcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMgLmJ1bmRsZSAubGVhcm4tbW9yZSBpbWcge1xuICAgICAgICB3aWR0aDogMS42ODc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtOyB9XG4gICAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMgLmJ1bmRsZSAubGVhcm4tbW9yZTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4uYnVuZGxlcy1ib3ggLmJ1bmRsZXMtbW9iaWxlIHtcbiAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcy1tb2JpbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLmJ1bmRsZXMtYm94IC5idW5kbGVzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzBkN2VmZjsgfVxuICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDQuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQuODc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gICAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzI5OGRmZjsgfVxuICAgICAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAvKiBJRSA5ICovXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtdy5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMC43NXJlbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmJ1bmRsZXMtYm94IC5idW5kbGVzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMS45Mzc1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjkzNzVyZW0gMS4xODc1cmVtOyB9IH1cbiAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmJ1bmRsZXMtYm94IC5idW5kbGVzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHA6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC53aGl0ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAuYnVuZGxlcy1ib3ggLmJ1bmRsZXMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubGVhcm4tbW9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5idW5kbGVzLWJveCAuYnVuZGxlcy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5sZWFybi1tb3JlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cblxuLmN0YS1ib3gge1xuICBwYWRkaW5nOiA1cmVtIDA7IH1cbiAgLmN0YS1ib3ggLmN0YS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzZhOGUyYztcbiAgICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jdGEtYm94IC5jdGEtdGl0bGUge1xuICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIC5jdGEtYm94IC5jdGEtYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3RhLWJveCAuY3RhLWJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgLmN0YS1ib3ggLmN0YS1idXR0b24gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6ICM2YThlMmM7XG4gICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAuY3RhLWJveCAuY3RhLWJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzRjOGUyYzsgfVxuXG4uZmFxcyB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDsgfVxuICAuZmFxcyAuZmFxLXNlY3Rpb24gaDMuY291bnQge1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAuZmFxcyAuZmFxLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZhcXMgLmZhcS1zZWN0aW9uIC50aGUtZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMy4xMjVyZW0gMC45Mzc1cmVtIDEuODc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjsgfVxuICAgICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtYi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgLyogSUUgOSAqL1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLXcuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtIDAuNzVyZW07XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mYXFzIC5mYXEtc2VjdGlvbiAudGhlLWZhcS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEuOTM3NXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS45Mzc1cmVtIDEuMTg3NXJlbTsgfSB9XG4gICAgLmZhcXMgLmZhcS1zZWN0aW9uIC50aGUtZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAgIC5mYXFzIC5mYXEtc2VjdGlvbiAudGhlLWZhcS1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGg0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgLmZhcXMgLmZhcS1zZWN0aW9uIC50aGUtZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jaGFydC10YWJsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgLmZhcXMgLmZhcS1zZWN0aW9uIC50aGUtZmFxLWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUuY2hhcnQtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgICAgICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ciB0ZC5rZXkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAgICAgICAuZmFxcyAuZmFxLXNlY3Rpb24gLnRoZS1mYXEtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jaGFydC10YWJsZSB0Ym9keSB0ciB0ZC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtOyB9XG4gIC5mYXFzIC5zZWFyY2gtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZhcXMgLnNlYXJjaC1ib3ggaDMge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZhcXMgLnNlYXJjaC1ib3ggZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuZmFxcyAuc2VhcmNoLWJveCBmb3JtIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5mYXFzIC5zZWFyY2gtYm94IGZvcm0gYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMS4yNXJlbTtcbiAgICAgICAgdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLmZhcXMgLnNlYXJjaC1ib3ggZm9ybSBidXR0b24gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMS4xNzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjE2ODc1cmVtOyB9XG4gICAgICAuZmFxcyAuc2VhcmNoLWJveCBmb3JtOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAuZmFxcyAuZmlsdGVycy1ib3gge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMC45Mzc1cmVtIDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mYXFzIC5maWx0ZXJzLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5mYXFzIC5maWx0ZXJzLWJveCBoMyB7XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAxLjI1cmVtIDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZGNkY2RjO1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMCAwLjkzNzVyZW0gMDsgfVxuICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmOyB9XG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC1zYi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAvKiBJRSA5ICovXG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtc2Iuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMCAwIDA7IH1cbiAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTtcbiAgICAgICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgICAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgICAgICAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICAgICAgICAgLyogYWNjZXNzaWJpbGl0eSAqLyB9XG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIGxhYmVsIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAgICAgICAgIC5mYXFzIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IC02MjQuOTM3NXJlbTsgfVxuICAgICAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgICAgIC5mYXFzIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgIC5mYXFzIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxLjA2MjVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgICAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICM2OTY5Njk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgICAgICAgIC5mYXFzIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJ8OXJztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IC0wLjY4NzVyZW07XG4gICAgICAgICAgICAgIGxlZnQ6IDAuMTU2MjVyZW07XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAgICAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAgICAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfVxuICAgICAgICAgICAgLmZhcXMgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjOTk5OyB9XG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYWFhOyB9XG4gICAgICAgICAgICAuZmFxcyAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgIC5mYXFzIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsgfVxuXG4ucGFydG5lci1wcm9ncmFtIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMCAxLjg3NXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFydG5lci1wcm9ncmFtIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMy43NXJlbSAwOyB9IH1cbiAgLnBhcnRuZXItcHJvZ3JhbSAucGFnZS10aXRsZSBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhcnRuZXItcHJvZ3JhbSAucGFnZS10aXRsZSBoMSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDMuNzVyZW07IH0gfVxuICAucGFydG5lci1wcm9ncmFtIC5wYWdlLWludHJvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLnBhcnRuZXItcHJvZ3JhbSAucGFnZS1pbnRybyBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAucGFydG5lci1wcm9ncmFtIC5wYWdlLWludHJvIHAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLnBhcnRuZXItcHJvZ3JhbSAucGFnZS1pbnRybyBwOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFydG5lci1wcm9ncmFtIC5jdGEtYnV0dG9uIC5iZWNvbWUtcGFydG5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAucGFydG5lci1wcm9ncmFtIC5jdGEtYnV0dG9uIC5iZWNvbWUtcGFydG5lcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMWI1NWIwOyB9XG5cbi5wYXJ0bmVyLWJlbmVmaXRzIC5tYWluLXRpdGxlIHtcbiAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFydG5lci1iZW5lZml0cyAubWFpbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmO1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07IH0gfVxuICAucGFydG5lci1iZW5lZml0cyAubWFpbi10aXRsZTphZnRlciwgLnBhcnRuZXItYmVuZWZpdHMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYXJ0bmVyLWJlbmVmaXRzIC5tYWluLXRpdGxlOmFmdGVyLCAucGFydG5lci1iZW5lZml0cyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnBhcnRuZXItYmVuZWZpdHMgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFydG5lci1iZW5lZml0cyAubWFpbi10aXRsZTphZnRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH0gfVxuICAucGFydG5lci1iZW5lZml0cyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhcnRuZXItYmVuZWZpdHMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIuMjVyZW07IH0gfVxuICAucGFydG5lci1iZW5lZml0cyAubWFpbi10aXRsZSBoNSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhcnRuZXItYmVuZWZpdHMgLm1haW4tdGl0bGUgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5wYXJ0bmVyLWJlbmVmaXRzIC5wYXJ0bmVyLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnRuZXItYmVuZWZpdHMgLnBhcnRuZXItY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMi44MTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuICAucGFydG5lci1iZW5lZml0cyAucGFydG5lci1jb250ZW50IC5pbnRyby10ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhcnRuZXItYmVuZWZpdHMgLnBhcnRuZXItY29udGVudCAuaW50cm8tdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucGFydG5lci1iZW5lZml0cyAucGFydG5lci1jb250ZW50IC5iZW5lZml0LWxpc3Qge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAucGFydG5lci1iZW5lZml0cyAucGFydG5lci1jb250ZW50IC5iZW5lZml0LWxpc3QgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAucGFydG5lci1iZW5lZml0cyAucGFydG5lci1jb250ZW50IC5iZW5lZml0LWxpc3QgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjA2MjVyZW07IH1cbiAgICAgIC5wYXJ0bmVyLWJlbmVmaXRzIC5wYXJ0bmVyLWNvbnRlbnQgLmJlbmVmaXQtbGlzdCB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ucGFydG5lcnMtdHlwZXMgLm1haW4tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYXJ0bmVycy10eXBlcyAubWFpbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07IH0gfVxuICAucGFydG5lcnMtdHlwZXMgLm1haW4tdGl0bGU6YWZ0ZXIsIC5wYXJ0bmVycy10eXBlcyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhcnRuZXJzLXR5cGVzIC5tYWluLXRpdGxlOmFmdGVyLCAucGFydG5lcnMtdHlwZXMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wYXJ0bmVycy10eXBlcyAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICAucGFydG5lcnMtdHlwZXMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfVxuICAucGFydG5lcnMtdHlwZXMgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAyLjE4NzVyZW0gMCAwIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhcnRuZXJzLXR5cGVzIC5tYWluLXRpdGxlIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIC5wYXJ0bmVycy10eXBlcyAubWFpbi10aXRsZSBwIHtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtOyB9XG5cbi5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMS44NzVyZW07XG4gICAgICAgICAgYm90dG9tOiAtMS44NzVyZW07XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9IH1cbiAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMS44NzVyZW07XG4gICAgICAgICAgYm90dG9tOiAtMS44NzVyZW07XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMzMlICsgMzBweCk7XG4gICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9IH1cbiAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXItbW9iaWxlIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwLjYyNXJlbSAxLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC4xODc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjE4NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAgICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH1cbiAgICAgICAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdHIgdGQucGFydG5lci10eXBlLW5hbWUgaDQge1xuICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItdHlwZS1uYW1lIHAge1xuICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTsgfVxuICAgICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLWZlYXR1cmUge1xuICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTsgfVxuICAgICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItZmVhdHVyZTpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNkYmRkZGM7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogLTAuNjI1cmVtO1xuICAgICAgICAgICAgICByaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdHIgdGQucGFydG5lci1jaGVjayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLWNoZWNrIC5jaGVja2VkLWZlYXR1cmUge1xuICAgICAgICAgICAgICB3aWR0aDogMC43NjI1cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDAuODA2MjVyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2NoZWNrLWIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAgICAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdHIgdGQucGFydG5lci1jaGVjazpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogLTAuNjI1cmVtOyB9XG4gICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItdHlwZS1jdGEgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtOyB9XG4gICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItdHlwZS1jdGE6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLTAuNjI1cmVtOyB9XG4gICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRyIHRkLnBhcnRuZXItdHlwZS1jdGEtZW1wdHk6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNkYmRkZGM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLTAuNjI1cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZS1tb2JpbGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQucGFydG5lci10eXBlLW5hbWUgaDQge1xuICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5wYXJ0bmVycy10eXBlcyAucGFydG5lci10eXBlLWNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZS1tb2JpbGUgdGJvZHkgdHIgdGQucGFydG5lci10eXBlLW5hbWUgcCB7XG4gICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLWZlYXR1cmUge1xuICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLWNoZWNrIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLWNoZWNrIC5jaGVja2VkLWZlYXR1cmUge1xuICAgICAgICAgICAgd2lkdGg6IDAuNzYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC44MDYyNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9jaGVjay1iLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuICAgICAgICAucGFydG5lcnMtdHlwZXMgLnBhcnRuZXItdHlwZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUtbW9iaWxlIHRib2R5IHRyIHRkLnBhcnRuZXItdHlwZS1jdGEge1xuICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG4gICAgICAgICAgLnBhcnRuZXJzLXR5cGVzIC5wYXJ0bmVyLXR5cGUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB0Ym9keSB0ciB0ZC5wYXJ0bmVyLXR5cGUtY3RhIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTsgfVxuXG4uc3VwcG9ydC1jaGFubmVscyAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1cHBvcnQtY2hhbm5lbHMgLm1haW4tdGl0bGUge1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmOyB9IH1cbiAgLnN1cHBvcnQtY2hhbm5lbHMgLm1haW4tdGl0bGU6YWZ0ZXIsIC5zdXBwb3J0LWNoYW5uZWxzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3VwcG9ydC1jaGFubmVscyAubWFpbi10aXRsZTphZnRlciwgLnN1cHBvcnQtY2hhbm5lbHMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5zdXBwb3J0LWNoYW5uZWxzIC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN1cHBvcnQtY2hhbm5lbHMgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDEuODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtOyB9IH1cbiAgLnN1cHBvcnQtY2hhbm5lbHMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdXBwb3J0LWNoYW5uZWxzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMi4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjI1cmVtOyB9IH1cbiAgLnN1cHBvcnQtY2hhbm5lbHMgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdXBwb3J0LWNoYW5uZWxzIC5tYWluLXRpdGxlIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4uc3VwcG9ydC1jaGFubmVscyAuY2hhbm5lbHMge1xuICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3VwcG9ydC1jaGFubmVscyAuY2hhbm5lbHMge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIC5zdXBwb3J0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMS44NzVyZW0gMCAxLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN1cHBvcnQtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLnN1cHBvcnQtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuc3VwcG9ydC1jaGFubmVscyAuY2hhbm5lbHMgLmNoYW5uZWwgLmNoYW5uZWwtaWNvbiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDUuNTYyNXJlbTsgfVxuICAgIC5zdXBwb3J0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1kZXRhaWxzIGgzIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zdXBwb3J0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1kZXRhaWxzIHAge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuOTM3NXJlbTsgfVxuICAgICAgLnN1cHBvcnQtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWRldGFpbHMgcDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc3VwcG9ydC1jaGFubmVscyAuY2hhbm5lbHMgLmNoYW5uZWwgLmNoYW5uZWwtY3RhIHtcbiAgICAgIGhlaWdodDogNC41NjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQuNTYyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgI2ViZWJlYjsgfVxuICAgICAgLnN1cHBvcnQtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWN0YSBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgICAgLnN1cHBvcnQtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWN0YSBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cbiAgICAgICAgLnN1cHBvcnQtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWN0YSBhOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7IH1cblxuLmJsb2ctcGFnZSB7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTsgfVxuICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmNvdW50IHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgaDMucmVjZW50LXBvc3RzLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07IH1cbiAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wb3N0LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDEuNzVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wb3N0LWl0ZW0gLnJvdyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucm93IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wb3N0LWl0ZW0gLnBvc3QtdGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAucG9zdC1pdGVtIC5wb3N0LXRodW1ibmFpbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC10aHVtYm5haWwgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC10aHVtYm5haWwgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTByZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7IH0gfVxuICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC10aHVtYm5haWwgaW1nOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC1kZXRhaWxzIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAucG9zdC1pdGVtIC5wb3N0LWRldGFpbHMgaDMgYSB7XG4gICAgICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAucG9zdC1pdGVtIC5wb3N0LWRldGFpbHMgaDMgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMyRDVGODY7IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC1kZXRhaWxzIGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC1kZXRhaWxzIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC1kZXRhaWxzIC5yZWFkLW1vcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucG9zdC1kZXRhaWxzIC5yZWFkLW1vcmUgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTsgfVxuICAgICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wb3N0LWl0ZW0gLnBvc3QtZGV0YWlscyAucmVhZC1tb3JlOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wb3N0LWl0ZW0gLnJvdyAubWVkaXVtLTQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wb3N0LWl0ZW0gLnJvdyAubWVkaXVtLTQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucm93IC5tZWRpdW0tOCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBvc3QtaXRlbSAucm93IC5tZWRpdW0tOCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAucGFnaW5hdGlvbiAubmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5wYWdpbmF0aW9uIC5uZXh0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLnBhZ2luYXRpb24gLm5leHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLWIuc3ZnXCIpO1xuICAgICAgd2lkdGg6IDEuMzEyNXJlbTtcbiAgICAgIGhlaWdodDogMC44MTI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWI0ODg2O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjZjVmNWY1O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAzLjEyNXJlbSAwLjkzNzVyZW0gMS44NzVyZW07IH1cbiAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjsgfVxuICAgICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLWIuc3ZnXCIpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgLyogSUUgOSAqL1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBoMywgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gcCB7XG4gICAgICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC13LnN2Z1wiKTtcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgdG9wOiA0NSU7XG4gICAgICByaWdodDogMS4yNXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAvKiBTYWZhcmkgKi9cbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxLjkzNzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjE4NzVyZW07IH0gfVxuICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIGgzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAxLjg3NXJlbSAxLjI1cmVtIDEuODc1cmVtOyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmVhdHVyZXMgLmZlYXR1cmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5mZWF0dXJlcyAuZmVhdHVyZSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5mZWF0dXJlcyAuZmVhdHVyZSBhIHtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5mZWF0dXJlcyAuZmVhdHVyZSAuc3RhciB7XG4gICAgICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjg0Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9zdGFyLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uLWN0YS1ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbi1jdGEtYm94IC5pbnRybyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICM2YThlMmM7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb24tY3RhLWJveCAuaW50cm8ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbi1jdGEtYm94IC5jdGEge1xuICAgICAgICBmbG9hdDogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ibG9nLXBhZ2UgLnJlY2VudC1wb3N0cyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmFjY29yZGlvbi1jdGEtYm94IC5jdGEge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uLWN0YS1ib3ggLmN0YSBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM2YThlMmM7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmJsb2ctcGFnZSAucmVjZW50LXBvc3RzIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uLWN0YS1ib3ggLmN0YSBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDIzLjI1cmVtOyB9IH1cbiAgICAgICAgICAuYmxvZy1wYWdlIC5yZWNlbnQtcG9zdHMgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb24tY3RhLWJveCAuY3RhIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzFmNmUwODsgfVxuICAuYmxvZy1wYWdlIC5zZWFyY2gtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJsb2ctcGFnZSAuc2VhcmNoLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAuYmxvZy1wYWdlIC5zZWFyY2gtYm94IGgzIHtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5ibG9nLXBhZ2UgLnNlYXJjaC1ib3ggZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuYmxvZy1wYWdlIC5zZWFyY2gtYm94IGZvcm0gaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmJsb2ctcGFnZSAuc2VhcmNoLWJveCBmb3JtIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLmJsb2ctcGFnZSAuc2VhcmNoLWJveCBmb3JtIGJ1dHRvbiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxLjE3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTY4NzVyZW07IH1cbiAgICAgIC5ibG9nLXBhZ2UgLnNlYXJjaC1ib3ggZm9ybTpob3ZlciBidXR0b24ge1xuICAgICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3gge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDAgMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDAgMS44NzVyZW07IH0gfVxuICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IGgzIHtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgcGFkZGluZzogMCAwIDAuOTM3NXJlbSAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2RjZGNkYzsgfVxuICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDAuOTM3NXJlbSAwO1xuICAgICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtc2Iuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgLyogSUUgOSAqL1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtc2Iuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDAgMDtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG4gICAgICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgICAgICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgY2hhbmdlcyAqL1xuICAgICAgICAgICAgLyogZGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAgICAgICAgIC8qIGFjY2Vzc2liaWxpdHkgKi8gfVxuICAgICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIGxhYmVsIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogLTYyNC45Mzc1cmVtOyB9XG4gICAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxLjA2MjVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgICAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICM2OTY5Njk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICfDlyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAtMC4xMjVyZW07XG4gICAgICAgICAgICAgIGxlZnQ6IDAuMXJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAgICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAgICAgICAuYmxvZy1wYWdlIC5maWx0ZXJzLWJveCAuZmlsdGVycy1ib3gtY29udGVudCAuZmlsdGVycy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfVxuICAgICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgICBjb2xvcjogI2FhYTsgfVxuICAgICAgICAgICAgLmJsb2ctcGFnZSAuZmlsdGVycy1ib3ggLmZpbHRlcnMtYm94LWNvbnRlbnQgLmZpbHRlcnMtYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgIC5ibG9nLXBhZ2UgLmZpbHRlcnMtYm94IC5maWx0ZXJzLWJveC1jb250ZW50IC5maWx0ZXJzLWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCk6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCB7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gMC4zMTI1cmVtIDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJsb2ctcGFnZSAuYXJjaGl2ZXMtYm94IHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMC4zMTI1cmVtIDEuODc1cmVtOyB9IH1cbiAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggaDMge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMC45Mzc1cmVtIDA7IH1cbiAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICAgLyogYWNjZXNzaWJpbGl0eSAqLyB9XG4gICAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLmJsb2ctcGFnZSAuYXJjaGl2ZXMtYm94IC5hcmNoaXZlcy1ib3gtY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgICAgLmJsb2ctcGFnZSAuYXJjaGl2ZXMtYm94IC5hcmNoaXZlcy1ib3gtY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNjI0LjkzNzVyZW07IH1cbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuICAgICAgLmJsb2ctcGFnZSAuYXJjaGl2ZXMtYm94IC5hcmNoaXZlcy1ib3gtY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICB3aWR0aDogMS4wNjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjNjk2OTY5O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ8OXJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0wLjEyNXJlbTtcbiAgICAgICAgbGVmdDogMC4xcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAgICAgLmJsb2ctcGFnZSAuYXJjaGl2ZXMtYm94IC5hcmNoaXZlcy1ib3gtY29udGVudCAuZmlsdGVyLWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiYmI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAgIC5ibG9nLXBhZ2UgLmFyY2hpdmVzLWJveCAuYXJjaGl2ZXMtYm94LWNvbnRlbnQgLmZpbHRlci1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjYWFhOyB9XG4gICAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAuYmxvZy1wYWdlIC5hcmNoaXZlcy1ib3ggLmFyY2hpdmVzLWJveC1jb250ZW50IC5maWx0ZXItaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCk6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG5cbi5zaW5nbGUtcG9zdC1wYWdlIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgcGFkZGluZzogMS44NzVyZW0gMCA1cmVtIDA7IH1cbiAgLnNpbmdsZS1wb3N0LXBhZ2UgLm1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAuc2luZ2xlLXBvc3QtcGFnZSAuc2luZ2xlLXBvc3QgaDEge1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0IGgxIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gIC5zaW5nbGUtcG9zdC1wYWdlIC5zaW5nbGUtcG9zdCBoNSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5zaW5nbGUtcG9zdC1wYWdlIC5zaW5nbGUtcG9zdC1jb250ZW50IC5wb3N0LXN1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5zaW5nbGUtcG9zdC1wYWdlIC5zaW5nbGUtcG9zdC1jb250ZW50IC5wb3N0LWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuc2luZ2xlLXBvc3QtcGFnZSAuc2luZ2xlLXBvc3QtY29udGVudCAucG9zdC1ib3hlZC1wYXJhZ3JhcGgge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuc2luZ2xlLXBvc3QtcGFnZSAuc2luZ2xlLXBvc3QtY29udGVudCAucG9zdC1ib3hlZC1wYXJhZ3JhcGggPiBoMyB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0LWNvbnRlbnQgLnBvc3QtYm94ZWQtcGFyYWdyYXBoIC5ib3hlZC1wYXJhZ3JhcGgtY29udGVudCB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5zaW5nbGUtcG9zdC1wYWdlIC5zaW5nbGUtcG9zdC1jb250ZW50IC5wb3N0LWJveGVkLXBhcmFncmFwaCAuYm94ZWQtcGFyYWdyYXBoLWNvbnRlbnQgdWwgbGkge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0LWNvbnRlbnQgLnBvc3QtcGxhaW4tcGFyYWdyYXBoIHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0LWNvbnRlbnQgLnBvc3QtcGxhaW4tcGFyYWdyYXBoIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0LWNvbnRlbnQgLnBvc3QtcGxhaW4tcGFyYWdyYXBoIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuc2luZ2xlLXBvc3QtcGFnZSAuc2luZ2xlLXBvc3QtY29udGVudCAucG9zdC1wbGFpbi1wYXJhZ3JhcGggaDQge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5zaW5nbGUtcG9zdC1wYWdlIC5zaW5nbGUtcG9zdC1jb250ZW50IC5wb3N0LXF1b3RlLWJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS44NzVyZW0gYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2luZ2xlLXBvc3QtcGFnZSAuc2luZ2xlLXBvc3QtY29udGVudCAucG9zdC1xdW90ZS1ib3gge1xuICAgICAgICB3aWR0aDogODUlOyB9IH1cbiAgICAuc2luZ2xlLXBvc3QtcGFnZSAuc2luZ2xlLXBvc3QtY29udGVudCAucG9zdC1xdW90ZS1ib3ggcCB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0LWNvbnRlbnQgLnBvc3QtcXVvdGUtYm94IHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG4gICAgLnNpbmdsZS1wb3N0LXBhZ2UgLnNpbmdsZS1wb3N0LWNvbnRlbnQgLnBvc3QtcXVvdGUtYm94IGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAuc2luZ2xlLXBvc3QtcGFnZSAucmVsYXRlZCB7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2luZ2xlLXBvc3QtcGFnZSAucmVsYXRlZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5zaW5nbGUtcG9zdC1wYWdlIC5yZWxhdGVkIGgzIHtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDEuMjVyZW0gMDsgfVxuICAgIC5zaW5nbGUtcG9zdC1wYWdlIC5yZWxhdGVkIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2luZ2xlLXBvc3QtcGFnZSAucmVsYXRlZCB1bCBsaSB7XG4gICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNkY2RjZGM7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuICAgICAgICAuc2luZ2xlLXBvc3QtcGFnZSAucmVsYXRlZCB1bCBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAgICAgICAgIC5zaW5nbGUtcG9zdC1wYWdlIC5yZWxhdGVkIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cblxuLnNoYXJlIHtcbiAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgI2RjZGNkYztcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgLnNoYXJlIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zaGFyZSAuYXR0YWNobWVudCB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyOThkZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc2hhcmUgLmF0dGFjaG1lbnQgaW1nIHtcbiAgICAgIHdpZHRoOiAxLjIyNXJlbTtcbiAgICAgIGhlaWdodDogMS42Njg3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2hhcmUgLmF0dGFjaG1lbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG4gICAgLnNoYXJlIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTk1NTk5OyB9XG4gICAgICAuc2hhcmUgLmF0dGFjaG1lbnQ6aG92ZXIgaW1nIHtcbiAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7IH1cbiAgLnNoYXJlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2hhcmUgdWwge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLnNoYXJlIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbTsgfVxuICAgICAgLnNoYXJlIHVsIGxpIGE6aG92ZXIgaW1nIHtcbiAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7IH1cbiAgICAgIC5zaGFyZSB1bCBsaSBhLnR3aXR0ZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEuNzAxMjVyZW07XG4gICAgICAgIGhlaWdodDogMS40MzY4N3JlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICAgICAgLnNoYXJlIHVsIGxpIGEuZmFjZWJvb2sgaW1nIHtcbiAgICAgICAgd2lkdGg6IDAuNzkzNzVyZW07XG4gICAgICAgIGhlaWdodDogMS43MDEyNXJlbTsgfVxuICAgICAgLnNoYXJlIHVsIGxpIGEubGlua2VkaW4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEuNzAxMjVyZW07XG4gICAgICAgIGhlaWdodDogMS43MDEyNXJlbTsgfVxuICAgICAgLnNoYXJlIHVsIGxpIGEuZW1haWwgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEuODM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI2MTI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjQyNXJlbTsgfVxuXG4uY29udGFjdC1jaGFubmVscyAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRhY3QtY2hhbm5lbHMgLm1haW4tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgICAgIG1pbi1oZWlnaHQ6IDUuNjI1cmVtOyB9IH1cbiAgLmNvbnRhY3QtY2hhbm5lbHMgLm1haW4tdGl0bGU6YWZ0ZXIsIC5jb250YWN0LWNoYW5uZWxzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFjdC1jaGFubmVscyAubWFpbi10aXRsZTphZnRlciwgLmNvbnRhY3QtY2hhbm5lbHMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jb250YWN0LWNoYW5uZWxzIC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtOyB9XG4gIC5jb250YWN0LWNoYW5uZWxzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgIGJvcmRlci13aWR0aDogMi4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTIuMjVyZW07IH1cbiAgLmNvbnRhY3QtY2hhbm5lbHMgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0LWNoYW5uZWxzIC5tYWluLXRpdGxlIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuXG4uY29udGFjdC1jaGFubmVscyAuY2hhbm5lbHMge1xuICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFjdC1jaGFubmVscyAuY2hhbm5lbHMge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMS44NzVyZW0gMCAxLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRhY3QtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbnRhY3QtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuY29udGFjdC1jaGFubmVscyAuY2hhbm5lbHMgLmNoYW5uZWwgLmNoYW5uZWwtaWNvbiBpbWcge1xuICAgICAgICBoZWlnaHQ6IDUuNTYyNXJlbTsgfVxuICAgIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1kZXRhaWxzIGgzIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1kZXRhaWxzIHAge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuOTM3NXJlbTsgfVxuICAgICAgLmNvbnRhY3QtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWRldGFpbHMgcDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1kZXRhaWxzIHAgYSB7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuY29udGFjdC1jaGFubmVscyAuY2hhbm5lbHMgLmNoYW5uZWwgLmNoYW5uZWwtZGV0YWlscyBwIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjOTk5OyB9XG4gICAgLmNvbnRhY3QtY2hhbm5lbHMgLmNoYW5uZWxzIC5jaGFubmVsIC5jaGFubmVsLWN0YSB7XG4gICAgICBoZWlnaHQ6IDQuNTYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0LjU2MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1jdGEgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAgIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1jdGEgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxLjY4NzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjE2MjVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtOyB9XG4gICAgICAgIC5jb250YWN0LWNoYW5uZWxzIC5jaGFubmVscyAuY2hhbm5lbCAuY2hhbm5lbC1jdGEgYTpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC43OyB9XG5cbi5jb250YWN0LW1hcCAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWN0LW1hcCAubWFpbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuY29udGFjdC1tYXAgLm1haW4tdGl0bGU6YWZ0ZXIsIC5jb250YWN0LW1hcCAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRhY3QtbWFwIC5tYWluLXRpdGxlOmFmdGVyLCAuY29udGFjdC1tYXAgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jb250YWN0LW1hcCAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICAuY29udGFjdC1tYXAgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfVxuICAuY29udGFjdC1tYXAgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0LW1hcCAubWFpbi10aXRsZSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9IH1cblxuLmNvbnRhY3QtbWFwIC5zZWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFjdC1tYXAgLnNlY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuICAuY29udGFjdC1tYXAgLnNlY3Rpb25zIC5zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLmNvbnRhY3QtbWFwIC5zZWN0aW9ucyAuc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jb250YWN0LW1hcCAuc2VjdGlvbnMgLnNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbnRhY3QtbWFwIC5zZWN0aW9ucyAuc2VjdGlvbiAuc2VjdGlvbi1kZXRhaWxzIGgzIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cbiAgICAuY29udGFjdC1tYXAgLnNlY3Rpb25zIC5zZWN0aW9uIC5zZWN0aW9uLWRldGFpbHMgcCB7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAuY29udGFjdC1tYXAgLnNlY3Rpb25zIC5zZWN0aW9uIC5zZWN0aW9uLWN0YSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNkY2RjZGM7XG4gICAgICBoZWlnaHQ6IDQuNTYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0LjU2MjVyZW07IH1cbiAgICAgIC5jb250YWN0LW1hcCAuc2VjdGlvbnMgLnNlY3Rpb24gLnNlY3Rpb24tY3RhIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgICAuY29udGFjdC1tYXAgLnNlY3Rpb25zIC5zZWN0aW9uIC5zZWN0aW9uLWN0YSBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cbiAgICAgICAgLmNvbnRhY3QtbWFwIC5zZWN0aW9ucyAuc2VjdGlvbiAuc2VjdGlvbi1jdGEgYTpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gIC5jb250YWN0LW1hcCAuc2VjdGlvbnMgLnRoZS1tYXAgaWZyYW1lIHtcbiAgICBoZWlnaHQ6IDI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0LW1hcCAuc2VjdGlvbnMgLnRoZS1tYXAgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLnN3eWNkLXBsYW5zIC5tYWluLXRpdGxlIHtcbiAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3d5Y2QtcGxhbnMgLm1haW4tdGl0bGUge1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07IH0gfVxuICAuc3d5Y2QtcGxhbnMgLm1haW4tdGl0bGU6YWZ0ZXIsIC5zd3ljZC1wbGFucyAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN3eWNkLXBsYW5zIC5tYWluLXRpdGxlOmFmdGVyLCAuc3d5Y2QtcGxhbnMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5zd3ljZC1wbGFucyAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICAuc3d5Y2QtcGxhbnMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfVxuICAuc3d5Y2QtcGxhbnMgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zd3ljZC1wbGFucyAubWFpbi10aXRsZSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnN3eWNkLXBsYW5zIC5tYWluLXRpdGxlIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uc3d5Y2QtcGxhbnMgLnBsYW5zIHtcbiAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zd3ljZC1wbGFucyAucGxhbnMge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucyAucGxhbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gaDMge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDsgfVxuICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gaDQge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zIC5wbGFuIGg1IHtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gcCB7XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMC45Mzc1cmVtIDA7IH1cbiAgICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gcDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gcCA+IGEge1xuICAgICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gLmZlYXR1cmVzIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zIC5wbGFuIC5mZWF0dXJlcyBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjkzNzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucyAucGxhbiAuZmVhdHVyZXMgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucyAucGxhbiAuZmVhdHVyZXMgbGkgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTEuMjVyZW07XG4gICAgICAgICAgdG9wOiAwLjc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMC43NXJlbTsgfVxuICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gLmRlbW8sXG4gICAgLnN3eWNkLXBsYW5zIC5wbGFucyAucGxhbiAuYnV5LW5vdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zIC5wbGFuIC5kZW1vOmhvdmVyLFxuICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucyAucGxhbiAuYnV5LW5vdzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7IH1cbiAgICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gLmRlbW8uZGVtbyxcbiAgICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gLmJ1eS1ub3cuZGVtbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMyOThkZmY7XG4gICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAgIC5zd3ljZC1wbGFucyAucGxhbnMgLnBsYW4gLmRlbW8uZGVtbzpob3ZlcixcbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucyAucGxhbiAuYnV5LW5vdy5kZW1vOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzFiNDg4NjtcbiAgICAgICAgICBjb2xvcjogIzFiNDg4NjsgfVxuXG4uc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSB7XG4gIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH0gfVxuICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzBkN2VmZjsgfVxuICAgIC5zd3ljZC1wbGFucyAucGxhbnMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA0Ljg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0Ljg3NXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC8qIElFIDkgKi9cbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtdy5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMC43NXJlbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEuOTM3NXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS45Mzc1cmVtIDEuMTg3NXJlbTsgfSB9XG4gICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW0gMDsgfVxuICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGg0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgaDUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA1cmVtO1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMC45Mzc1cmVtIDA7IH1cbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHA6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5mZWF0dXJlcyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZlYXR1cmVzIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC45Mzc1cmVtO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxRDgxRkI7IH1cbiAgICAgICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZlYXR1cmVzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICMxRDgxRkI7IH1cbiAgICAgICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmZlYXR1cmVzIGxpIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtMS4yNXJlbTtcbiAgICAgICAgICAgIHRvcDogMC43NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjc1cmVtOyB9XG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmRlbW8sXG4gICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmJ1eS1ub3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5kZW1vOmhvdmVyLFxuICAgICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmJ1eS1ub3c6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgICAgIC5zd3ljZC1wbGFucyAucGxhbnMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAuZGVtby5kZW1vLFxuICAgICAgICAuc3d5Y2QtcGxhbnMgLnBsYW5zLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmJ1eS1ub3cuZGVtbyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNmZmY7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5kZW1vLmRlbW86aG92ZXIsXG4gICAgICAgICAgLnN3eWNkLXBsYW5zIC5wbGFucy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5idXktbm93LmRlbW86aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2VlZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZWVlOyB9XG5cbi5tb3ZyLXRpdGxlLXdyYXBwZXIge1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gIC5tb3ZyLXRpdGxlLXdyYXBwZXIgLm1vdnItdGl0bGUgaDEge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzFiNDg4NjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubW92ci10aXRsZS13cmFwcGVyIC5tb3ZyLXRpdGxlIGgxIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG5cbi5tb3ZyLWludHJvIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1vdnItaW50cm8gLm1vdnItZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAubW92ci1pbnRybyAubW92ci1kZXRhaWxzIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubW92ci1pbnRybyAubW92ci1kZXRhaWxzIHAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubW92ci1pbnRybyAubW92ci1jdGEge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb3ZyLWludHJvIC5tb3ZyLWN0YSB7XG4gICAgICAgIHdpZHRoOiAzMC45Mzc1cmVtOyB9IH1cbiAgICAubW92ci1pbnRybyAubW92ci1jdGEgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5yZXBvcnQtaGlnaGxpZ2h0cyAubWFpbi10aXRsZSB7XG4gIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlcG9ydC1oaWdobGlnaHRzIC5tYWluLXRpdGxlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUuNjI1cmVtOyB9IH1cbiAgLnJlcG9ydC1oaWdobGlnaHRzIC5tYWluLXRpdGxlOmFmdGVyLCAucmVwb3J0LWhpZ2hsaWdodHMgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yZXBvcnQtaGlnaGxpZ2h0cyAubWFpbi10aXRsZTphZnRlciwgLnJlcG9ydC1oaWdobGlnaHRzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAucmVwb3J0LWhpZ2hsaWdodHMgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICBib3JkZXItd2lkdGg6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH1cbiAgLnJlcG9ydC1oaWdobGlnaHRzIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgIGJvcmRlci13aWR0aDogMi4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTIuMjVyZW07IH1cbiAgLnJlcG9ydC1oaWdobGlnaHRzIC5tYWluLXRpdGxlIGg1IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVwb3J0LWhpZ2hsaWdodHMgLm1haW4tdGl0bGUgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5yZXBvcnQtaGlnaGxpZ2h0cyAuaGlnaGxpZ2h0cyB7XG4gIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlcG9ydC1oaWdobGlnaHRzIC5oaWdobGlnaHRzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuICAucmVwb3J0LWhpZ2hsaWdodHMgLmhpZ2hsaWdodHMgLmNvbC10ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5yZXBvcnQtaGlnaGxpZ2h0cyAuaGlnaGxpZ2h0cyAuY29sLXRleHQgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgLnJlcG9ydC1oaWdobGlnaHRzIC5oaWdobGlnaHRzIC5jb2wtdGV4dCB1bCBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5yZXBvcnQtaGlnaGxpZ2h0cyAuaGlnaGxpZ2h0cyAubW92ci1zdWItZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZXBvcnQtaGlnaGxpZ2h0cyAuaGlnaGxpZ2h0cyAubW92ci1zdWItZm9ybSAubW92ci1zdWJzY3JpcHRpb24tZm9ybS1sYWJlbCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucmVwb3J0LWhpZ2hsaWdodHMgLmhpZ2hsaWdodHMgLm1vdnItc3ViLWZvcm0gLm1vdnItc3Vic2NyaXB0aW9uLWZvcm0tbGFiZWwge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLm1vdnItd2lkZ2V0IC5oaWdobGlnaHRzIC5tb3ZyLXN1Yi1mb3JtIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY3VycmVudC1yZXBvcnQgLm1haW4tdGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMWI0ODg2O1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jdXJyZW50LXJlcG9ydCAubWFpbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTUzYzZhO1xuICAgICAgbWluLWhlaWdodDogNS42MjVyZW07IH0gfVxuICAuY3VycmVudC1yZXBvcnQgLm1haW4tdGl0bGU6YWZ0ZXIsIC5jdXJyZW50LXJlcG9ydCAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmN1cnJlbnQtcmVwb3J0IC5tYWluLXRpdGxlOmFmdGVyLCAuY3VycmVudC1yZXBvcnQgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jdXJyZW50LXJlcG9ydCAubWFpbi10aXRsZTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTUzYzZhO1xuICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICAuY3VycmVudC1yZXBvcnQgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNTNjNmE7XG4gICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfVxuICAuY3VycmVudC1yZXBvcnQgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jdXJyZW50LXJlcG9ydCAubWFpbi10aXRsZSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNC4zNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9IH1cblxuLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzIHtcbiAgYmFja2dyb3VuZDogIzFiNDg4NjtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAuY29sdW1ucyB7XG4gICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgIzE1M2M2YTtcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzIC5jb2x1bW5zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMTI1cmVtIHNvbGlkICMxNTNjNmE7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgICAgLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzIC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lOyB9IH1cbiAgLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzIC5yZXBvcnQge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAucmVwb3J0IHtcbiAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbTsgfSB9XG4gICAgLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzIC5yZXBvcnQgLnJlcG9ydC10aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMgLnJlcG9ydCAucmVwb3J0LXRpdGxlIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxMy43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAucmVwb3J0IC5yZXBvcnQtdGl0bGUgaDMge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMgLnJlcG9ydCAucmVwb3J0LXRpdGxlIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAucmVwb3J0IC5yZXBvcnQtY3RhIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMgLnJlcG9ydCAucmVwb3J0LWN0YSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAucmVwb3J0IC5yZXBvcnQtY3RhIGEgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAgICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMgLnJlcG9ydCAucmVwb3J0LWN0YSBhIGltZy52aWV3IHtcbiAgICAgICAgICAgIGhlaWdodDogMS4xNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTsgfVxuICAgICAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAucmVwb3J0IC5yZXBvcnQtY3RhIGEgaW1nLmRvd25sb2FkIHtcbiAgICAgICAgICAgIGhlaWdodDogMS4xNjI1cmVtOyB9XG4gICAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cyAucmVwb3J0IC5yZXBvcnQtY3RhIGE6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4uY3VycmVudC1yZXBvcnQgLnJlcG9ydHMtbW9iaWxlIHtcbiAgYmFja2dyb3VuZDogIzFiNDg4NjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cy1tb2JpbGUge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMxYjQ4ODY7IH1cbiAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogIzE4M0Q2ODtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBoZWlnaHQ6IDQuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0Ljg3NXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTgzRDY4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMTgzRDY4OyB9XG4gICAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC8qIElFIDkgKi9cbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLmN1cnJlbnQtcmVwb3J0IC5yZXBvcnRzLW1vYmlsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC13LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjkzNzVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuOTM3NXJlbSAxLjE4NzVyZW07IH0gfVxuICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICMxODNENjg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07IH1cbiAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGEge1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBhIGltZyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAgICAgICAgIC5jdXJyZW50LXJlcG9ydCAucmVwb3J0cy1tb2JpbGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGEgaW1nLmRvd25sb2FkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjAzNzVyZW07IH1cbiAgICAgICAgICAuY3VycmVudC1yZXBvcnQgLnJlcG9ydHMtbW9iaWxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBhIGltZy52aWV3IHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjU2ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjIyNXJlbTsgfVxuXG4ucHJldmlvdXMtcmVwb3J0IC5tYWluLXRpdGxlIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJldmlvdXMtcmVwb3J0IC5tYWluLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgICBtaW4taGVpZ2h0OiA1LjYyNXJlbTsgfSB9XG4gIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGU6YWZ0ZXIsIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGU6YWZ0ZXIsIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViZWJlYjtcbiAgICBib3JkZXItd2lkdGg6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH1cbiAgLnByZXZpb3VzLXJlcG9ydCAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViZWJlYjtcbiAgICBib3JkZXItd2lkdGg6IDIuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0yLjI1cmVtOyB9XG4gIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGUgaDUge1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcmV2aW91cy1yZXBvcnQgLm1haW4tdGl0bGUgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAuY29weWluZy1ub3RlcyB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAuY29weWluZy1ub3RlcyBwIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLmNvcHlpbmctbm90ZXMgc3Ryb25nIHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAucHJldmlvdXMtcmVwb3J0IC5yZXBvcnRzIC55ZWFycyAueWVhciAucmVwb3J0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2Y1ZjVmNTsgfVxuICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIC5yZXBvcnQtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIC5yZXBvcnQtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgICAucHJldmlvdXMtcmVwb3J0IC5yZXBvcnRzIC55ZWFycyAueWVhciAucmVwb3J0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7IH1cbiAgICAgICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAueWVhcnMgLnllYXIgLnJlcG9ydC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy11cC1iLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAvKiBJRSA5ICovXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC8qIFNhZmFyaSAqL1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIC5yZXBvcnQtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLXcuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMC43NXJlbTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAueWVhcnMgLnllYXIgLnJlcG9ydC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEuOTM3NXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS45Mzc1cmVtIDEuMTg3NXJlbTsgfSB9XG4gICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAueWVhcnMgLnllYXIgLnJlcG9ydC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDEuODc1cmVtOyB9XG4gICAgICAucHJldmlvdXMtcmVwb3J0IC5yZXBvcnRzIC55ZWFycyAueWVhciAucmVwb3J0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAueWVhcnMgLnllYXIgLnJlcG9ydC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZGRkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfVxuICAgICAgICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIC5yZXBvcnQtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bCBsaSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIC5yZXBvcnQtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bCBsaSBhIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgICAgICAgLnByZXZpb3VzLXJlcG9ydCAucmVwb3J0cyAueWVhcnMgLnllYXIgLnJlcG9ydC1hY2NvcmRpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsIGxpIGEgaW1nLmRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4yMjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjY2ODc1cmVtOyB9XG4gICAgICAgICAgICAgIC5wcmV2aW91cy1yZXBvcnQgLnJlcG9ydHMgLnllYXJzIC55ZWFyIC5yZXBvcnQtYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bCBsaSBhIGltZy52aWV3IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41Njg3NXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjI1cmVtOyB9XG4gICAgICAgICAgICAucHJldmlvdXMtcmVwb3J0IC5yZXBvcnRzIC55ZWFycyAueWVhciAucmVwb3J0LWFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpOyB9XG5cbi5kb2N1bWVudGF0aW9uIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMCAwIDA7IH1cbiAgLmRvY3VtZW50YXRpb24gLnBhZ2UtaW50cm8gaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uIC5wYWdlLWludHJvIGgxIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gIC5kb2N1bWVudGF0aW9uIC5wYWdlLWRvY3VtZW50YXRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgIC5kb2N1bWVudGF0aW9uIC5wYWdlLWRvY3VtZW50YXRpb24gcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uIC5wYWdlLWRvY3VtZW50YXRpb24gcCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbiAucGFnZS1kb2N1bWVudGF0aW9uIHA6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50ID4gLnJvdyA+IGRpdjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudCA+IC5yb3cgPiBkaXY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQgLmRvYy1ibG9jayAuZG9jLWJsb2NrLWNvbnRlbnQgPiB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDtcbiAgICAgIHBhZGRpbmc6IDAgMCA2LjI1cmVtIDA7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQgLmRvYy1ibG9jayAuZG9jLWJsb2NrLWNvbnRlbnQgPiB1bCA+IGxpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMC4xMjVyZW0gc29saWQgI2RjZGNkYztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSA+IGEgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAxLjEyNXJlbTsgfVxuICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgPiBhIGltZy52aWV3IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNTY4NzVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMS4yMjVyZW07IH1cbiAgICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQgLmRvYy1ibG9jayAuZG9jLWJsb2NrLWNvbnRlbnQgPiB1bCA+IGxpID4gYSBpbWcuZG93bmxvYWQge1xuICAgICAgICAgICAgICB3aWR0aDogMS4yMjVyZW07XG4gICAgICAgICAgICAgIHRvcDogMC44MTI1cmVtOyB9XG4gICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTsgfVxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQgLmRvYy1ibG9jayAuZG9jLWJsb2NrLWNvbnRlbnQgPiB1bCA+IGxpIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS44NzVyZW0gMC45Mzc1cmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7IH1cbiAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgIC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYXJyb3ctdXAtc2Iuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtO1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW0gMC44NzVyZW07IH0gfVxuICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpOyB9XG4gICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gICAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50ID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuODc1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50ID4gdWwgPiBsaSA+IGEgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxLjEyNXJlbTsgfVxuICAgICAgICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCA+IGxpID4gYSBpbWcudmlldyB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEuNTY4NzVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjIyNXJlbTsgfVxuICAgICAgICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCA+IGxpID4gYSBpbWcuZG93bmxvYWQge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjIyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAuODEyNXJlbTsgfVxuICAgICAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50ID4gdWwgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTsgfVxuICAgICAgICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQgLmRvYy1ibG9jayAuZG9jLWJsb2NrLWNvbnRlbnQgPiB1bCA+IGxpIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCA+IHVsID4gbGkgdWwuYWNjb3JkaW9uIGxpIGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCA+IGxpIHVsLmFjY29yZGlvbiBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9hcnJvdy1kb3duLWcuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50ID4gdWwgPiBsaSB1bC5hY2NvcmRpb24gbGkgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCA+IGxpIHVsLmFjY29yZGlvbiBsaSAuYWNjb3JkaW9uLWNvbnRlbnQgcCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgICAgICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1ibG9jay1jb250ZW50ID4gdWwgPiBsaSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgPiB1bCA+IGxpIHVsLmFjY29yZGlvbiBsaSAuYWNjb3JkaW9uLWNvbnRlbnQgcCBhIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50ID4gdWwgPiBsaSB1bC5hY2NvcmRpb24gbGkgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAgICAgICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQgLmRvYy1ibG9jayAuZG9jLWJsb2NrLWNvbnRlbnQgPiB1bCA+IGxpIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCA+IHVsID4gbGkgdWwuYWNjb3JkaW9uIGxpIC5hY2NvcmRpb24tY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtYmxvY2stY29udGVudCA+IHVsID4gbGkgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50ID4gdWwgPiBsaSB1bC5hY2NvcmRpb24gbGkgLmFjY29yZGlvbi1jb250ZW50IHVsIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1jdGEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudCAuZG9jLWJsb2NrIC5kb2MtY3RhIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgbWFyZ2luOiAwIDEuODc1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50IC5kb2MtYmxvY2sgLmRvYy1jdGEgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjsgfVxuXG4uc2VhcmNoLW5vLXJlc3VsdHMgLnRoZS1maWx0ZXItY29udGVudHMge1xuICBiYWNrZ3JvdW5kOiAjMzE5MEZDOyB9XG5cbi50aGUtZmlsdGVyLXRpdGxlIHtcbiAgcGFkZGluZzogMi41cmVtIDA7IH1cbiAgLnRoZS1maWx0ZXItdGl0bGUgaDEge1xuICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMWI0ODg2OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aGUtZmlsdGVyLXRpdGxlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTsgfSB9XG5cbi50aGUtZmlsdGVyLWNvbnRlbnRzIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAudGhlLWZpbHRlci1jb250ZW50cyAubm90aGluZy1mb3VuZCB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC50aGUtZmlsdGVyLWNvbnRlbnRzIC5zZWFyY2hmb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudGhlLWZpbHRlci1jb250ZW50cyAuc2VhcmNoZm9ybSBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAudGhlLWZpbHRlci1jb250ZW50cyAuc2VhcmNoZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA5LjM3NXJlbTsgfVxuICAgICAgLnRoZS1maWx0ZXItY29udGVudHMgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAudGhlLWZpbHRlci1jb250ZW50cyAuc2VhcmNoZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIHdpZHRoOiA5LjM3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogIzFiNDk4NyB1cmwoXCIuLi9pbWcvc2VhcmNoLWljb24tdy5zdmdcIikgbm8tcmVwZWF0IDkwJSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMjVyZW0gMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnRoZS1maWx0ZXItY29udGVudHMgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgICAgLnRoZS1maWx0ZXItY29udGVudHMgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgY3Vyc29yOiBoYW5kOyB9XG4gIC50aGUtZmlsdGVyLWNvbnRlbnRzIC5maWx0ZXItcmVzdWx0cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC50aGUtZmlsdGVyLWNvbnRlbnRzIC5maWx0ZXItcmVzdWx0cyBsaSB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI2ViZWJlYjsgfVxuICAgICAgLnRoZS1maWx0ZXItY29udGVudHMgLmZpbHRlci1yZXN1bHRzIGxpIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAudGhlLWZpbHRlci1jb250ZW50cyAuZmlsdGVyLXJlc3VsdHMgbGkgaDMgYSB7XG4gICAgICAgICAgY29sb3I6ICMxYjQ4ODY7IH1cbiAgICAgICAgICAudGhlLWZpbHRlci1jb250ZW50cyAuZmlsdGVyLXJlc3VsdHMgbGkgaDMgYTpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAudGhlLWZpbHRlci1jb250ZW50cyAuZmlsdGVyLXJlc3VsdHMgbGkgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH0gfVxuICAgICAgLnRoZS1maWx0ZXItY29udGVudHMgLmZpbHRlci1yZXN1bHRzIGxpIC50aGUtZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC50aGUtZmlsdGVyLWNvbnRlbnRzIC5maWx0ZXItcmVzdWx0cyBsaSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAudGhlLWZpbHRlci1jb250ZW50cyAuZmlsdGVyLXJlc3VsdHMgbGkgLnJlYWQtbW9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgICAgIC50aGUtZmlsdGVyLWNvbnRlbnRzIC5maWx0ZXItcmVzdWx0cyBsaSAucmVhZC1tb3JlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cbiAgICAgICAgLnRoZS1maWx0ZXItY29udGVudHMgLmZpbHRlci1yZXN1bHRzIGxpIC5yZWFkLW1vcmU6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAudGhlLWZpbHRlci1jb250ZW50cyAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50aGUtZmlsdGVyLWNvbnRlbnRzIC5wYWdpbmF0aW9uIC5uZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH1cbiAgICAudGhlLWZpbHRlci1jb250ZW50cyAucGFnaW5hdGlvbiAubmV4dDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgLnRoZS1maWx0ZXItY29udGVudHMgLnBhZ2luYXRpb24gLm5leHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vaW1nL2Fycm93LXVwLWIuc3ZnXCIpO1xuICAgICAgd2lkdGg6IDEuMzEyNXJlbTtcbiAgICAgIGhlaWdodDogMC44MTI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5sb2dpbi1wYWdlIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9naW4tcGFnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9naW4tcGFnZSAubWFpbi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwZDdlZmY7IH0gfVxuICAgIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlOmFmdGVyLCAubG9naW4tcGFnZSAubWFpbi10aXRsZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxvZ2luLXBhZ2UgLm1haW4tdGl0bGU6YWZ0ZXIsIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxvZ2luLXBhZ2UgLm1haW4tdGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMS44NzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG4gICAgLmxvZ2luLXBhZ2UgLm1haW4tdGl0bGU6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAyLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMi4yNXJlbTsgfSB9XG4gICAgLmxvZ2luLXBhZ2UgLm1haW4tdGl0bGUgaDUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDAgMC4zMTI1cmVtIDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlIGg1IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAwIDEuMjVyZW0gMDsgfSB9XG4gICAgLmxvZ2luLXBhZ2UgLm1haW4tdGl0bGUgcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubG9naW4tcGFnZSAubWFpbi10aXRsZSBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5tYWluLXRpdGxlIHA6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMDsgfVxuICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC5tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtdXNlci1sb2dpbi13cmFwIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXVzZXItbG9naW4td3JhcCBpbnB1dCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtdXNlci1wYXNzLXdyYXAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtOyB9XG4gICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtdXNlci1wYXNzLXdyYXAgaW5wdXQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLWFjdGlvbi1saW5rcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLWFjdGlvbi1saW5rcyBsaSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtOyB9XG4gICAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLWFjdGlvbi1saW5rcyBsaSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnPyc7IH1cbiAgICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtYWN0aW9uLWxpbmtzIGxpIGE6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXN1Ym1pdC13cmFwIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXN1Ym1pdC13cmFwIGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBib3gtc2hhZG93OiAwLjQwMTc1cmVtIDAuNDc4NzVyZW0gMC45Mzc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1zdWJtaXQtd3JhcCBpbnB1dDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzBhM2E3NDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1yZW1lbWJlcm1lLXdyYXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgY2hhbmdlcyAqL1xuICAgICAgLyogZGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAgIC8qIGFjY2Vzc2liaWxpdHkgKi8gfVxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1yZW1lbWJlcm1lLXdyYXAgbGFiZWwge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1yZW1lbWJlcm1lLXdyYXAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NzVyZW07IH0gfVxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDAuMTI1cmVtO1xuICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1yZW1lbWJlcm1lLXdyYXAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG4gICAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1yZW1lbWJlcm1lLXdyYXAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnw5cnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTAuODc1cmVtO1xuICAgICAgICBsZWZ0OiAwLjE2ODc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgICAubG9naW4tcGFnZSAubG9naW4tcGFnZS1mb3JtIC50bWwtbG9naW4gLnRtbC1yZW1lbWJlcm1lLXdyYXAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgfVxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICBjb2xvcjogI2FhYTsgfVxuICAgICAgLmxvZ2luLXBhZ2UgLmxvZ2luLXBhZ2UtZm9ybSAudG1sLWxvZ2luIC50bWwtcmVtZW1iZXJtZS13cmFwIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbiAgICAgIC5sb2dpbi1wYWdlIC5sb2dpbi1wYWdlLWZvcm0gLnRtbC1sb2dpbiAudG1sLXJlbWVtYmVybWUtd3JhcCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCk6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5sb2dpbi1wYWdlIC50bWwge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubG9naW4tcGFnZSAucmVnaXN0ZXItYmxvY2sge1xuICAgIHBhZGRpbmc6IDVyZW0gMDsgfVxuICAgIC5sb2dpbi1wYWdlIC5yZWdpc3Rlci1ibG9jayAuY3RhLXRleHQge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubG9naW4tcGFnZSAucmVnaXN0ZXItYmxvY2sgLmN0YS10ZXh0IHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgICAubG9naW4tcGFnZSAucmVnaXN0ZXItYmxvY2sgLmN0YS1idXR0b24ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubG9naW4tcGFnZSAucmVnaXN0ZXItYmxvY2sgLmN0YS1idXR0b24ge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgIC5sb2dpbi1wYWdlIC5yZWdpc3Rlci1ibG9jayAuY3RhLWJ1dHRvbiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAuNDAxNzVyZW0gMC40Nzg3NXJlbSAwLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAgIC5sb2dpbi1wYWdlIC5yZWdpc3Rlci1ibG9jayAuY3RhLWJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMGEzYTc0O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5sb2dpbi1wYWdlIC5yZWdpc3Rlci1ibG9jayAuY3RhLWJ1dHRvbiBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNS4yNXJlbTsgfSB9XG5cbmJvZHkgLnNpZ251cC1mb3JtIHtcbiAgcGFkZGluZzogMy43NXJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1OyB9XG4gIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSksXG4gICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZl9yaWdodF9oYWxmICsgbGkuZ3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAudG9wX2xhYmVsIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2ZpZWxkX2xhYmVsIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAzLjc1cmVtIDEuODc1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtOyB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9kZXNjcmlwdGlvbiAuZ2RzX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTIuMDYyNXJlbTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5nZmllbGRfZGVzY3JpcHRpb24gLm9wZW4td2luZG93IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgIzY5Njk2OTsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl90ZXh0IHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl90ZXh0IGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvYXJyb3ctZG93bi1nLnN2Z1wiKTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjc1cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgdG9wOiAyLjgxMjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3Qge1xuICAgICAgICAgIGhlaWdodDogMy4xMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1nL2Fycm93LWRvd24tZy5zdmdcIikgbm8tcmVwZWF0IDk3JSBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtOyB9IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3QgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbSAwLjc1cmVtOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWNob2ljZXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1nL2Fycm93LWRvd24tZy5zdmdcIikgbm8tcmVwZWF0IDk3JSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtIDAuNzVyZW07IH0gfVxuICAgICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3QgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1jaG9pY2VzIC5zZWFyY2gtZmllbGQgaW5wdXQge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMy4xMjVyZW07IH1cbiAgICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tY2hvaWNlcyAuc2VhcmNoLWNob2ljZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgICBtYXJnaW46IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICBjb2xvcjogIzI5OGRmZjsgfVxuICAgICAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWNob2ljZXMgLnNlYXJjaC1jaG9pY2UgYSB7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjkzNzVyZW07IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLWRyb3Age1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWEgdGV4dGFyZWEge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Fycm93LWRvd24tZy5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtIDAuNzVyZW07XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3Qgb3B0aW9uIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgY2hhbmdlcyAqL1xuICAgICAgICAgIC8qIGRpc2FibGVkIGNoZWNrYm94ICovXG4gICAgICAgICAgLyogYWNjZXNzaWJpbGl0eSAqLyB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsIGxpIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTsgfSB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsIGxpIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDAuMTI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzY5Njk2OTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnw5cnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsIGxpIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNiYmI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICNhYWE7IH1cbiAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGkgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiA0OS4zJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfSB9XG4gICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCBsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb21wbGV4IGxhYmVsIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZmllbGQtdGVybXMgbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZmllbGRfY2FwdGNoYSBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5oaWRlLWxhYmVsID4gbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ3NlY3Rpb24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nc2VjdGlvbiBoMiB7XG4gICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ3NlY3Rpb24uZGl2aWRlci1vbmx5IHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGRfZXJyb3IgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGhlaWdodDogMDsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgICAgIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZF9lcnJvciBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAgICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZF9lcnJvciBpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KFt0eXBlPVwiYnV0dG9uXCJdKTpub3QoW3R5cGU9XCJpbWFnZVwiXSk6bm90KFt0eXBlPVwiZmlsZVwiXSksIGJvZHkgLnNpZ251cC1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkX2Vycm9yIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSB7XG4gICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgcmVkOyB9XG4gICAgICBib2R5IC5zaWdudXAtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMC40MDE3NXJlbSAwLjQ3ODc1cmVtIDAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAgICAgYm9keSAuc2lnbnVwLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzFiNDg4NjsgfVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90XCIpO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDQ1JTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMyOThkZmY7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvYXJyb3ctbGVmdC1zYi5zdmdcIik7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGklwiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiLi4vaW1nL2Fycm93LXJpZ2h0LXNiLnN2Z1wiKTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6YmVmb3JlLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uZXJyb3ItcGFnZSB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9XG4gIC5lcnJvci1wYWdlIGgxIHtcbiAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLmVycm9yLXBhZ2UgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAuZXJyb3ItcGFnZSAuc2VhcmNoZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVycm9yLXBhZ2UgLnNlYXJjaGZvcm0gbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmVycm9yLXBhZ2UgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogOS4zNzVyZW07IH1cbiAgICAgIC5lcnJvci1wYWdlIC5zZWFyY2hmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmVycm9yLXBhZ2UgLnNlYXJjaGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICB3aWR0aDogOS4zNzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICMxYjQ5ODcgdXJsKFwiLi4vaW1nL3NlYXJjaC1pY29uLXcuc3ZnXCIpIG5vLXJlcGVhdCA5MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5lcnJvci1wYWdlIC5zZWFyY2hmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAgIC5lcnJvci1wYWdlIC5zZWFyY2hmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGN1cnNvcjogaGFuZDsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgcGFkZGluZzogMDtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJlc3BvbnNpdmUgRW1iZWRcbi8vICAyOS4gUmV2ZWFsXG4vLyAgMzAuIFNsaWRlclxuLy8gIDMxLiBTd2l0Y2hcbi8vICAzMi4gVGFibGVcbi8vICAzMy4gVGFic1xuLy8gIDM0LiBUaHVtYm5haWxcbi8vICAzNS4gVGl0bGUgQmFyXG4vLyAgMzYuIFRvb2x0aXBcbi8vICAzNy4gVG9wIEJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyODApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxNDQwcHgsXG4gIHh4bGFyZ2U6IDE2MDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAzMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtYm9yZGVyOiAkbGlnaHQtZ3JheTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDI5LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMzAuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMxLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzIuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcblxuLy8gMzMuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzNC4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzUuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM2LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNy4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+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+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsIFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRwcmltYXJ5LWNvbG9yXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIHNsYXNoLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbixcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogdG9wKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8gV0FSTklORzogV2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gNi40XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbzogZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICBcbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemU6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemUsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSlcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgICYuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtc2hhZG93IGlzIHNldCwgYWRkIGl0IGFzIGEgcHNldWRvLWVsZW1lbnQuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1zaGFkb3cge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgfVxuICB9XG5cbiAgLy8gTm8gdHJhbnNmb3JtIG9uIG92ZXJsYXAgdHJhbnNpdGlvblxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAwKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJcbi5oZWFkZXIge1xuXG4gIGJhY2tncm91bmQtY29sb3I6I2VhZWFlYTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICB9XG4gIC5oZWFkZXItaW50cm8ge1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDQ1KTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxMzUpO1xuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgIGEge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0Ny4yKTtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMzYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzNCk7XG4gICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTUpO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNTUpO1xuICAgICAgICBjb2xvcjojMWI0ODg2O1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaDMge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMi44KTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyOC44KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlci1jdGEge1xuICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDIzNSk7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiMxNTNDNkE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzkxLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuIC5waG9uZS1iZyB7XG4gICBoZWlnaHQ6YXV0bztcbiAgIHBvc2l0aW9uOnN0YXRpYztcbiAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNjApO1xuICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg0NSk7XG4gICBtYXJnaW4tbGVmdDpyZW0tY2FsYygxNSk7XG4gICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMTUpO1xuXG4gICBpbWcge1xuICAgICBwb3NpdGlvbjpzdGF0aWM7XG4gICAgIGJvdHRvbTowO1xuICAgICByaWdodDowO1xuICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICB9XG4gICB9XG5cbiAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICBtYXJnaW46MDtcbiAgICAgaGVpZ2h0OnJlbS1jYWxjKDQxMik7XG4gICB9XG4gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cbiAgICAgaGVpZ2h0OnJlbS1jYWxjKDY3Mik7XG4gICB9XG4gfVxufVxuXG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDojM2MzYzNjO1xuICAuY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICB9XG4gIH1cbiAgLmZvb3Rlci1uYXZzIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgIH1cbiAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgPiB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6I2RkZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDEwKSAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6I2RkZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIHRvcDpyZW0tY2FsYygxMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB0b3A6MDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDo0OSU7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjojZWVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBsZWZ0OjQ5JTtcbiAgICAgICAgYm90dG9tOnJlbS1jYWxjKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5zb2NpYWwtdHdpdHRlciB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYyg2KTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxNy41KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNC4yKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6MC42O1xuICAgICAgfVxuICAgIH1cbiAgICAuc3Vic2NyaXB0aW9uLWZvcm0ge1xuXG4gICAgICBoMyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDojZTVlNWU1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9vdGVyLXJpZ2h0cyB7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDozMDA7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6MDtcbiAgICB9XG4gICAgLmNvcHlyaWdodHMge1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTcpO1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgfVxuICAgIH1cbiAgICAuY3JlYXRlZC1ieSB7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICBmb250LXdlaWdodDo2MDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6I2RkZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zaW5nbGUtY2FzZS1zdHVkeSB7XG4gIC5tZW51LXdyYXBwZXIge1xuICAgICN0b3AtbmF2IHtcbiAgICB1bCB7XG4gICAgICAucmVzb3VyY2VzLW1lbnUtaXRlbSB7XG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyOThkZmY7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxufVxuLnNpbmdsZS1wb3N0IHtcbiAgLm1lbnUtd3JhcHBlciB7XG4gICAgI3RvcC1uYXYge1xuICAgICAgdWwge1xuICAgICAgICAuYmxvZy1tZW51LWl0ZW0ge1xuICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5OGRmZjtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uc2luZ2xlLW5ld3Mge1xuICAubWVudS13cmFwcGVyIHtcbiAgICAjdG9wLW5hdiB7XG4gICAgICB1bCB7XG4gICAgICAgIC5hYm91dC1tZW51LWl0ZW0ge1xuICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI5OGRmZjtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubWVudS13cmFwcGVyIHtcbiAgaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6I2ZmZjtcbiAgei1pbmRleDo5OTk5O1xuICAmLnN0aWNreS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3AgOiAwO1xuICAgIGxlZnQgOiAwO1xuICAgIHJpZ2h0IDogMDtcbiAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICB9XG4gIC5sZWZ0LW1lbnUge1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgd2lkdGg6NzAlO1xuXG4gIH1cbiAgLmxlZnQtbWVudS1ob21lIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIHdpZHRoOjY4JTtcbiAgfVxuICAucmlnaHQtbWVudSB7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgd2lkdGg6MzAlO1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gIH1cbiAgLnJpZ2h0LW1lbnUtaG9tZSB7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgd2lkdGg6MzIlO1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gIH1cbiAgLm1lbnUtbG9nbyB7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMTUpO1xuICAgIGEge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTUyLjEpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzAuNCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI3RvcC1uYXYgPiB1bHtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAjdG9wLW5hdiA+IHVsID4gbGl7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDE1KTtcblxuICAgICYuY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuICAjdG9wLW5hdiA+IHVsID4gbGkudGhpY2sgPiBhIHtcbiAgICBjb2xvcjojMWI0ODg2O1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcblxuICB9XG4gICN0b3AtbmF2ID4gdWwudGhpbiB7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgfVxuICAjdG9wLW5hdiA+IHVsLnRoaW4gPiBsaSA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgfVxuICAjdG9wLW5hdiA+IHVsID4gbGkgPiBhe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgZm9udC13ZWlnaHQ6NjAwO1xuICB9XG4gICN0b3AtbmF2IHtcbiAgICAgICYgPiB1bCB7XG4gICAgICAgICAgbGk6aG92ZXIsXG4gICAgICAgICAgbGkuY3VycmVudC1tZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAmID4gbGkuY3VycmVudC1tZW51LXBhcmVudCxcbiAgICAgICAgICAmID4gbGkuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIC8qIERyb3Bkb3duICovXG4gIGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW57XG4gICAgJi5vcGVuZWQge1xuICAgICAgPiBhIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgdWwuZHJvcGRvd24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgfVxuICAgICAgPiBhIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDE0MSwgMjU1LCAwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzI5OGRmZjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsLmRyb3Bkb3duIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgICAgdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICAgIHotaW5kZXg6OTk5O1xuICAgICAgbWFyZ2luOjA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDApO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICBib3gtc2hhZG93OiByZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDI1MCk7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG5cbiAgICAgIGxpIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg4KTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgI2hlYWRlci1uYXYtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG4gIC5zZWFyY2gtYnRuIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDpyZW0tY2FsYygxOC44KTtcbiAgICBoZWlnaHQ6cmVtLWNhbGMoMTguNyk7XG4gICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMTApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgdmlzaWJpbGl0eTpoaWRkZW47XG4gICAgICBib3R0b206cmVtLWNhbGMoLTI0KTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDE0MSwgMjU1LCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyOThkZmY7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDE1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDE0MSwgMjU1LCAwKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyOThkZmY7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMjApO1xuICAgIH1cblxuICAgICYub3BlbmVkIHtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgfVxuICB9XG4gIC5tZW51LWN0YSB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6cmVtLWNhbGMoMTMwKTtcbiAgICBoZWlnaHQ6cmVtLWNhbGMoMzApO1xuICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICBjb2xvcjojZmZmO1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYygyMCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IzE1M0M2QTtcbiAgICB9XG4gIH1cbn1cbi5zZWFyY2gtZm9ybSB7XG4gIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDpyZW0tY2FsYyg2MCk7XG4gIGxlZnQ6MDtcbiAgcmlnaHQ6MDtcbiAgaGVpZ2h0OnJlbS1jYWxjKDgwKTtcbiAgZGlzcGxheTpub25lO1xuICB6LWluZGV4Ojk5OTtcbiAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgZm9ybSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYygyMCkgcmVtLWNhbGMoMTUwKSByZW0tY2FsYygyMCkgMDtcbiAgICAuc2VhcmNoLWlucHV0IHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICBib3JkZXI6bm9uZTtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgICBiYWNrZ3JvdW5kOiMxYjQ5ODc7XG4gICAgICB3aWR0aDpyZW0tY2FsYygxNTApO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICBjb2xvcjojZmZmO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDYpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTowLjg7XG4gICAgICAgIGN1cnNvcjpoYW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLWhlYWRlciB7XG4gIGhlaWdodDogcmVtLWNhbGMoNzUpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6MDtcbiAgcmlnaHQ6MDtcbiAgdG9wOjA7XG4gIHotaW5kZXg6OTk5OTtcbiAgYm94LXNoYWRvdzogcmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMzApO1xuICAubW9iaWxlLWxvZ28ge1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3NSk7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGEge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE1NS4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhhbS1idXR0b24ge1xuICAgIGZsb2F0OnJpZ2h0O1xuXG5cbiAgICAuaGFtYnVyZ2VyIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTUpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDIpIHNvbGlkICMyOThkZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC42cyBlYXNlO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuNnMgZWFzZTtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIC42cyBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjZzIGVhc2U7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZXhwYW5kZWQgJiB7XG5cbiAgICAgIC5oYW1idXJnZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRvcDogcmVtLWNhbGMoNzUpO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0Oi0xMDAlO1xuXG4gIC5leHBhbmRlZCAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAubW9iaWxlLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMjUpIHJlbS1jYWxjKDMwKTtcblxuICAgIGZvcm0ge1xuICAgICAgcGFkZGluZzowIHJlbS1jYWxjKDYwKSAwIDA7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIC5zZWFyY2gtaW5wdXQge1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zZWFyY2gtc3VibWl0IHtcbiAgICAgICAgYmFja2dyb3VuZDojMWI0OTg3O1xuICAgICAgICB3aWR0aDpyZW0tY2FsYyg2MCk7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcblxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5tb2JpbGUtbWVudSB7XG4gICAgPiB1bCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI2KTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICMxNTNjNmE7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcblxuICAgICAgICAgID4gYSB7XG5cbiAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNmNWY1ZjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuXG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltZy9hcnJvdy11cC13LnN2ZycpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcblxuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vaW1nL2Fycm93LWRvd24tYi5zdmcnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOm5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNik7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNmNWY1ZjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jdGEtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgcGFkZGluZzpyZW0tY2FsYygyNSkgcmVtLWNhbGMoMzApO1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiMyOThkZmY7XG4gICAgICBjb2xvcjojZmZmO1xuXG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IzE1M0M2QTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJib2R5Om5vdCguaG9tZSl7XG4gIGJhY2tncm91bmQ6I2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg3NSk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDYwKTtcbiAgfVxufVxuYm9keS5ob21lIHtcbiAgcGFkZGluZy10b3A6cmVtLWNhbGMoNzUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy10b3A6MDtcbiAgfVxufVxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCB7XG4gIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbn1cbi5yb3cge1xuICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMzApO1xuICBtYXJnaW4tbGVmdDpyZW0tY2FsYygzMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICB9XG4gIH1cbn1cbi5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBmbG9hdDogbGVmdDtcbn1cbi5tYWluLXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiNmZmY7XG5cbn1cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgYSB7XG5cbiAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgfVxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonPic7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4ubS1iLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG59XG5cbiNwb3N0cy1jb250YWluZXIubG9hZGluZyB7XG4gICAgXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgICBcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3NwaW5uZXIuc3ZnJyk7XG4gICAgICAgIHBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDIwMCkgcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgIH1cbn0iLCIuc29sdXRpb25zLWluLWFjdGlvbiB7XG4gIC5tYWluLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiMxNTNjNmE7XG4gICAgbWluLWhlaWdodDpyZW0tY2FsYyg5MCk7XG5cbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzE1M2M2YTtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMTUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzE1M2M2YTtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xOCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTM2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI2KTtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyMCkgMCByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzApO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbiAgLnZpZGVvLWJsb2NrcyB7XG4gICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDI1KTtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg2MCk7XG4gICAgfVxuICAgICAgLnZpZGVvLWRldGFpbHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg1KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgfVxuICAgICAgICBhLnZpZGVvLWJsb2NrLWN0YSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDojMTUzQzZBO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yZXNwb25zaXZlLWVtYmVkIHtcbiAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ib3JkZXJlZC10b3Age1xuICAgICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICMxNTNjNmE7XG4gICAgICAgIG1hcmdpbjpyZW0tY2FsYyg2MCkgcmVtLWNhbGMoMTUpIDAgcmVtLWNhbGMoMTUpO1xuICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAuYm9yZGVyZWQtYm90dG9tIHtcbiAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgIzE1M2M2YTtcbiAgICAgIG1hcmdpbjowIHJlbS1jYWxjKDE1KSByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgICAucXVvdGUge1xuXG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcblxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICBmb250LXdlaWdodDozMDA7XG4gICAgICAgICAgbWFyZ2luOjA7XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgfVxufSIsIi5sZWFkZXJzLXRydXN0IHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6IzBkN2VmZjtcbiAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDkwKTtcblxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE4KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygyMCkgMCByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuICAubG9nb3MtcXVvdGVzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDMwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg2MCk7XG5cbiAgICB9XG4gICAgLmxvZ29zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgfVxuICAgICAgLnNpbmdsZS1sb2dvIHtcblxuICAgICAgfVxuICAgIH1cbiAgICAucXVvdGVzIHtcbiAgICAgIC5xdW90ZS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICMwZDdlZmY7XG4gICAgICB9XG4gICAgICAucXVvdGUge1xuXG4gICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMjUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg1NSk7XG4gICAgICAgIH1cbiAgICAgICAgLnF1b3RlLWF1dGhvciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2xlYXIge1xuICAgICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgLnF1b3RlLXRleHQge1xuXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuXG5cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6J+KAnCAnO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OnJlbS1jYWxjKC0xNCk7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OifigJ0nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jdXN0b21pemVkLXNvbHV0aW9ucyB7XG4gIC5tYWluLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgbWluLWhlaWdodDphdXRvO1xuXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWluLWhlaWdodDpyZW0tY2FsYyg5MCk7XG4gICAgfVxuXG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDE1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTgpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbiAgLmZlYXR1cmVzIHtcbiAgICBiYWNrZ3JvdW5kOiNmNWY1ZjU7XG4gICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoNjApO1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDI1KTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDYwKTtcblxuICAgIH1cblxuICAgID4gLnJvdyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICAgICAucm93IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDE1KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYygxNSk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoNDApO1xuICAgICAgZm9udC13ZWlnaHQ6MzAwO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNDUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmVhdHVyZSB7XG4gICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDI1KSByZW0tY2FsYygyNSk7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgd2lkdGg6MTAwJTtcblxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgcGFkZGluZzowIDAgcmVtLWNhbGMoMzApIDA7XG4gICAgICB9XG4gICAgICAuZmVhdHVyZS1pY29uIHtcbiAgICAgICAgcGFkZGluZzowIDAgMCAwO1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNjIpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApIDAgcmVtLWNhbGMoMTUpIDA7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQ0KTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDU0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgLmZlYXR1cmUtdGl0bGUge1xuICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTUpO1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6Izk5OTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICAgIC5mZWF0dXJlLWN0YSB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTApIHJlbS1jYWxjKDIwKSAwIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxMDQpO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmN0YS1idXR0b24ge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDM4OCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS10ZXh0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQ1KTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICBmb250LXdlaWdodDozMDA7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg1MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZlYXR1cmVkLXdpZGdldHMge1xuICBiYWNrZ3JvdW5kOiNmZmY7XG4gIHBhZGRpbmctdG9wOjA7XG4gIHBhZGRpbmctYm90dG9tOjA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNjApO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNjApO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgfVxuICAucm93IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgICAubGFyZ2UtNCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICAud2lkZ2V0IHtcbiAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG4gICAgLndpZGdldC1pbWFnZSB7XG4gICAgICBoZWlnaHQ6YXV0bztcbiAgICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICAgIGZsb2F0Om5vbmU7XG4gICAgICB3aWR0aDphdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjQ1KTtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDAwKTtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIwMCk7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgbWluLWhlaWdodDoxMDAlO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI0NSk7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLndpZGdldC1jb250ZW50cyB7XG4gICAgICAud2lkZ2V0LWRldGFpbHMge1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE5NSk7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCkgcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTk1KTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgICBoNSB7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgbWFyZ2luOjAgMCByZW0tY2FsYyg1KSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC53aWRnZXQtZm9vdGVyIHtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDcwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzApO1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoNDIwKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDcwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg3MCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYyg2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxuLmJnLWdyZWVuIHtcbiAgYmFja2dyb3VuZDojNmE4ZTJjO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWY2ZTA4O1xuICB9XG59XG4uYmctb3JhbmdlIHtcbiAgYmFja2dyb3VuZDojYzg2YjFmO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDE0NzA0O1xuICB9XG59XG4uYmctbmF2eSB7XG4gIGJhY2tncm91bmQ6IzU0N2I5NjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzFjNjRhMTtcbiAgfVxufVxuLmJnLWJsdWUge1xuICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IzBhM2E3NDtcbiAgfVxufVxuLmJnLWdyYXkge1xuICBiYWNrZ3JvdW5kOiM2OTY5Njk7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IzQ0NDtcbiAgfVxufVxuXG4udGV4dC1ncmVlbiB7XG4gIGNvbG9yOiM2YThlMmM7XG59XG4udGV4dC1vcmFuZ2Uge1xuICBjb2xvcjojYzg2YjFmO1xufVxuLnRleHQtbmF2eSB7XG4gIGNvbG9yOiM1NDdiOTY7XG59XG4udGV4dC1ibHVlIHtcbiAgY29sb3I6IzFiNDg4Njtcbn1cbi50ZXh0LWdyYXkge1xuICBjb2xvcjojNjk2OTY5O1xufVxuXG4iLCJib2R5IHtcbiAgb3ZlcmZsb3cteDpoaWRkZW47XG4gIC5zdWJzY3JpcHRpb24tZm9ybSB7XG4gICAgLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgICAgIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTApIDA7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTApO1xuICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgdWwuZ2Zvcm1fZmllbGRzICB7XG4gICAgICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciArIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgLmdmb3JtX3dyYXBwZXIge1xuICAgIG1hcmdpbjowO1xuICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgIGJvcmRlcjpub25lO1xuICAgICAgY29sb3I6I0ZGMzQyMjtcbiAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIG1hcmdpbjowIDAgcmVtLWNhbGMoOCkgMDtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6OTk7XG4gICAgICBsYWJlbCB7XG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmdmb3JtX2JvZHkge1xuICAgICAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3gge1xuXG4gICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46MCAwIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46MCByZW0tY2FsYygxNSkgMCAwO1xuICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTk5OTlweDtcblxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMik7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjM2MzYzNjO1xuXG5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnw5cnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTEzKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvKiBjaGVja2VkIG1hcmsgYXNwZWN0IGNoYW5nZXMgKi9cbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmJiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLyogYWNjZXNzaWJpbGl0eSAqL1xuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyX3RleHQge1xuICAgICAgICAgICAgICBtYXJnaW46MDtcblxuICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgICAgICAgICAgIG1hcmdpbjowO1xuXG4gICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOnJlZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3gge1xuICAgICAgICAgICAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgcmVkO1xuXG5cblxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGhlaWdodDowO1xuICAgICAgICBpbnB1dC5idXR0b24ge1xuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICByaWdodDowO1xuICAgICAgICAgIGJvdHRvbTpyZW0tY2FsYygwKTtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxMDUpO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICBjb2xvcjojM2MzYzNjO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICB9XG4gIFxuICAubW92ci1zdWJzY3JpcHRpb24tZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBcbiAgICAgIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgICAgICBcbiAgICAgIC5nZm9ybV9hbmNob3Ige1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKC04MCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5nZm9ybV93cmFwcGVyLFxuICAgICAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIFxuICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICM4RTAwMDU7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLmdmb3JtX2JvZHkge1xuICAgICAgICAgICAgICAgICAgdWwuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICBsaS5nZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZmllbGRfbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MiU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTE5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE3OSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygzMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAmLmdmaWVsZF9lcnJvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjOEUwMDA1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM4RTAwMDU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgIGlucHV0LmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC01MCk7XG4gICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxMTkpO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxNzkpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMmE1OTk2O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxufSIsIi5wcm9kdWN0LXRpdGxlLXdyYXBwZXIge1xuICBwYWRkaW5nOnJlbS1jYWxjKDMwKSAwIHJlbS1jYWxjKDEwKSAwO1xuXG4gIC5wcm9kdWN0LXRpdGxlIHtcbiAgICBoMSB7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0NSk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoNDApO1xuICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgY29sb3I6IzFiNDg4NjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zaWdudXAtaW50cm8tdGV4dCB7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG5cbiAgfVxufVxuXG4ucHJvZHVjdHMtZmlsdGVycyB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNjApIDA7XG4gIGJhY2tncm91bmQ6I2Y1ZjVmNTtcblxuICAuZmlsdGVycy1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG5cbiAgICBoMyB7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICBib3JkZXI6bm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2Fycm93LWRvd24tZy5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHJlbS1jYWxjKC0yN3B4KSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0Nyk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDYzKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICBiYWNrZ3JvdW5kOiM2OTY5Njk7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwMik7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiM1NTU7XG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXRlZ29yeS1hY2NvcmRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgIC5jb3VudCB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgfVxuICAgIC5hY2NvcmRpb24ge1xuICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2Y1ZjVmNTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApIHJlbS1jYWxjKDE4MCkgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMscCB7XG4gICAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygyMCkgcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsgLyogU2FmYXJpICovXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDMxKSByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygzMCk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYyg0KSBzb2xpZCAjZjVmNWY1O1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoNjApIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByb2QtZGVzYyB7XG4gICAgICAgICAgICBjb2xvcjojMWI0ODg2O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jaGFydC1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmNvdW50LTIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRhYmxlLmNoYXJ0LXRhYmxlIHtcbiAgICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoNjApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5zaGFkb3ctMCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5zaGFkb3ctMSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICAgICAgICByaWdodDogNDIlO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDM4JTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogcmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY291bnQtMSB7XG4gICAgICAgICAgICAgIC5zaGFkb3ctMCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiByZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb3VudC0zIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAuc2hhZG93LTAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiByZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLnNoYWRvdy0xIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyNyU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiByZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuc2hhZG93LTIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDU0JTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIHRhYmxlLmNoYXJ0LXRhYmxlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICB0ci5yb3cge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAmLmtleSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjIwJTtcbiAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZGNkY2RjO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246Ym90dG9tO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi52YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246Ym90dG9tO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46MCAwIHJlbS1jYWxjKDEwKSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi53aWR0aC0yIHtcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDo0MCU7XG5cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucHJvZHVjdC1jdGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDMwKTtcblxuXG4gICAgICAgICAgICAgICAgICAgICAgJi53aWR0aC0yIHtcblxuXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICYuZmlyc3Qtb25lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjpib3R0b207XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygyNSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnRyeS1icm93c2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE4LjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQtYmx1ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjcpIHJlbS1jYWxjKDE4LjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi50cmFpbC1wZXJpb2Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMikgc29saWQgIzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5idXktbm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAmLmtleSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2RiZGRkYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246Ym90dG9tO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAmLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjpib3R0b207XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRhYmxlLmNoYXJ0LXRhYmxlLW1vYmlsZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIHRkIHtcblxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCkgMCByZW0tY2FsYygzKSAwO1xuICAgICAgICAgICAgICAgICAgICAmLnByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjowIDAgcmVtLWNhbGMoMTUpIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuZmVhdHVyZXMge1xuICAgICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5jdGFzIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG5cblxuXG4gICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnRyeS1icm93c2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYyg3KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOC42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Fycm93LXJpZ2h0LWJsdWUuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDI3KSByZW0tY2FsYygxOC42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYudHJhaWwtcGVyaW9kIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDIpIHNvbGlkICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYnV5LW5vdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgaDMscCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLnByb2R1Y3QtaW50cm8ge1xuICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg1MCk7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuXG4gIC5wcm9kdWN0LWRldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgIGNvbG9yOiM2OTY5Njk7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnByb2R1Y3QtY3RhcyB7XG5cbiAgICB3aWR0aDphdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXG4gICAgICB3aWR0aDpyZW0tY2FsYyg0OTUpO1xuICAgIH1cbiAgICAgICBhIHtcbiAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAmLnRyeS1icm93c2VyIHtcbiAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgIHRvcDpyZW0tY2FsYyg0KTtcbiAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE4LjYpO1xuICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQtYmx1ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjcpIHJlbS1jYWxjKDE4LjYpO1xuICAgICAgICAgICB9XG5cbiAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJi50cmFpbC1wZXJpb2Qge1xuICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMikgc29saWQgIzI5OGRmZjtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgICBib3JkZXItY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgJi5idXktbm93IHtcbiAgICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICB9XG5cbiAgfVxufSIsIi5yZWNvbW1lbmRlZC1wcmljaW5nIHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTM2KTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wbGFucyB7XG4gICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcblxuXG4gICAgLnBsYW4ge1xuICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgaDQge1xuICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBtYXJnaW46MCAwIHJlbS1jYWxjKDEwKSAwO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgIG1pbi1oZWlnaHQ6cmVtLWNhbGMoODApO1xuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGVtbyxcbiAgICAgIC5idXktbm93IHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxNSk7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGxhbnMtbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcblxuICAgIC5hY2NvcmRpb24ge1xuICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjMGQ3ZWZmO1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiMyOThkZmY7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcblxuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg3OCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzgpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcblxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBJRSA5ICovXG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Fycm93LXVwLXcuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICByaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDMxKSByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApO1xuICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG5cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLndoaXRlLWN0YSB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucHJvZHVjdC1kZXRhaWxzIHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6I2Y1ZjVmNTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoOTApO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViZWJlYjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgICAgfVxuXG5cblxuICAgICAgaDUge1xuICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIC5jaGFydC1hY2NvcmRpb24ge1xuICAgIGJhY2tncm91bmQ6I2Y1ZjVmNTtcbiAgICBwYWRkaW5nLXRvcDowO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg2MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg2MCk7XG4gICAgfVxuICAgIC5jaGFydC1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDMwKTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgIH1cbiAgICAgIHRhYmxlLmNoYXJ0LXRhYmxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG5cbiAgICAgICAgICAgICAgJi5rZXkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9tb3Rpb24tcXVlc3Rpb24ge1xuICAgICAgd2lkdGg6NjUlO1xuICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICBjbGVhcjpib3RoO1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg0MCk7XG4gICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC1hY2NvcmRpb24ge1xuICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNmZmY7XG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDojZWJlYmViO1xuICAgICAgICAgICAgICBjb2xvcjojMWI0ODg2O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDMxKSByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgLnBhcnQtd3lzaXd5ZyB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIGE6bm90KFtjbGFzcz1cImJ1eS1ub3dcIl0pIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGFydC1idXR0b25zLXNldCB7XG4gICAgICAgICAgICAgIC5kYnV0dG9uLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxOC42KTtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY3RhIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYXJ0LWNvbXBhcmlzb24ge1xuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgIHRyIHtcblxuICAgICAgICAgICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2UwZTBlMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuXG4gICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cblxuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoxLjI7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZTBlMGUwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgJi5wYXJ0bmVyLWZlYXR1cmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgJi5wYXJ0bmVyLWNoZWNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2hlY2tlZC1mZWF0dXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTIuMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxMi45KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvY2hlY2stZGIuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAmLnBhcnRuZXItdHlwZS1jdGEge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicgJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOnJlbS1jYWxjKC0xMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgJi5wYXJ0bmVyLXR5cGUtY3RhLWVtcHR5IHtcblxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2RiZGRkYztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWJsZS5jaGFydC10YWJsZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgICAgICYua2V5IHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ1eS1ub3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQ6IzY5Njk2OTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvZG93bmxvYWQtdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDEyLjEpO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE2LjIpO1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKC0zKTtcblxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IzQ0NDtcbiAgICAgIGNvbG9yOiNlZWU7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6I2VlZTtcbiAgICB9XG4gIH1cblxuXG59IiwiLnByb2R1Y3QtcmVzb3VyY2VzIHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoOTApO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcblxuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViZWJlYjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zNik7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucmVzb3VyY2VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgfVxuICAgIC5jb2x1bW5zIHtcblxuICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0Om5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6bm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcbiAgICAgICAgYm9yZGVyLXRvcDpub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAucmVzb3VyY2Uge1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygzMCk7XG4gICAgICAucmVzb3VyY2UtaWNvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoODkpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAucmVzb3VyY2UtZGV0YWlscyB7XG4gICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTc1KTtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVzb3VyY2UtY3RhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OjAuODtcbiAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJlc291cmNlcy1tb2JpbGUge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6I2Y1ZjVmNTtcbiAgICAgICAgICBjb2xvcjojMWI0ODg2O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuXG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDc4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg3OCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgY29udGVudDonJztcblxuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Fycm93LXVwLWIuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDMxKSByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG5cblxuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiNmNWY1ZjU7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6MDtcblxuICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgIH1cbiAgICAgICAgICAucmVzb3VyY2UtY3RhIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICBjb2xvcjogIzFiNDg4NjtcbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5yZWFkeS10by1nbyB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNzApIDAgMCAwO1xuXG4gIC5jdGEtYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1MCk7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgLmNsZWFyIHtcbiAgICAgIGNsZWFyOmJvdGg7XG4gICAgfVxuICAgIC5yZWFkeS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0NSk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBmb250LXdlaWdodDozMDA7XG4gICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgZmxvYXQ6bm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNjApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1eS1ub3cge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgIGNvbG9yOiNmZmY7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICB9XG5cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygzMjIpO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAudHJhaWwtcGVyaW9kIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICBib3JkZXI6cmVtLWNhbGMoMikgc29saWQgIzI5OGRmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgZmxvYXQ6bm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzI5KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgIGJvcmRlci1jb2xvcjojMWI0ODg2O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5yZWxhdGVkLXdpZGdldHMge1xuICBwYWRkaW5nOnJlbS1jYWxjKDIwKSAwIHJlbS1jYWxjKDI1KSAwO1xuICAud2lkZ2V0IHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDI1KSByZW0tY2FsYygzMCkgMCByZW0tY2FsYygzMCk7XG4gICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAud2lkZ2V0LWlubmVyIHtcblxuICAgICAgLndpZGdldC10eXBlIHtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgLndpZGdldC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcblxuICAgICAgICAmLnRlc3RpbW9uaWFsIHtcbiAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OifigJwnO1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OnJlbS1jYWxjKC0xNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDon4oCdJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLndpZGdldC1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDI1KSAwO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAud2lkZ2V0LWV4Y2VycHQge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIH1cbiAgICAgIC53aWRnZXQtcmVwb3J0LWRhdGUge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5LjIpO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgfVxuICAgICAgLndpZGdldC1hdXRob3Ige1xuICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5LjIpO1xuICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICB9XG4gICAgICAud2lkZ2V0LXBvc2l0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkuMik7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICB9XG4gICAgfVxuICAgIC53aWRnZXQtZm9vdGVyIHtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg2OC42KTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDY4LjYpO1xuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICAgJjplbXB0eSB7XG4gICAgICAgIGJvcmRlci10b3A6bm9uZTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjojZmZmO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOC42KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYyg2KTtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubm8taG92ZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDojNjk2OTY5O1xuICAgIH1cbiAgfVxuICAuc2VlLW1vcmUge1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7XG4gICAgYSB7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDkuOSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxNC43KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoNSk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTowLjc7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxufVxuXG4ucmVsYXRlZC13aWRnZXRzLW1vYmlsZSB7XG4gIC5hY2NvcmRpb24ge1xuICAgIC5hY2NvcmRpb24taXRlbSB7XG5cbiAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDc4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzgpO1xuICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBJRSA5ICovXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsgLyogU2FmYXJpICovXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygzMSkgcmVtLWNhbGMoMTkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICBwYWRkaW5nOjAgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCk7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgLndpZGdldC1pbm5lciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAud2lkZ2V0LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNik7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG5cbiAgICAgICAgICAgICYudGVzdGltb25pYWwge1xuICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6J+KAnCc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDpyZW0tY2FsYygtMTUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6J+KAnSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud2lkZ2V0LWltYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcblxuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDI1KSAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICB3aWR0aDozMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC53aWRnZXQtZXhjZXJwdCB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLndpZGdldC1yZXBvcnQtZGF0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkuMik7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgICAud2lkZ2V0LWF1dGhvciB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkuMik7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgICAud2lkZ2V0LXBvc2l0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5LjIpO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLndpZGdldC1mb290ZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgcmdiYSgwLDAsMCwwLjEpO1xuXG4gICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOm5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hYm91dC11cyB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMzApIDAgMCAwO1xuICBiYWNrZ3JvdW5kOiNmZmY7XG5cbiAgLnBhZ2UtaW50cm8ge1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgICBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQ1KTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICBjb2xvcjojMWI0ODg2O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIH1cblxuICAgICAgJjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4uaW50cm8tY3RhIHtcbiAgYSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICB9XG59XG4gIH1cbiAgLnRlYW0ge1xuICAgIGJhY2tncm91bmQ6I2Y1ZjVmNTtcblxuICAgIC5tZW1iZXIge1xuICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNjApO1xuICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoNDUpO1xuICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOm5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5tZW1iZXItcGljdHVyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgIGJvcmRlcjpyZW0tY2FsYygxKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMyk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MDtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbWJlci1uYW1lIHtcbiAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICB9XG4gICAgICAubWVtYmVyLXBvc2l0aW9uIHtcbiAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuXG4gICAgICB9XG4gICAgICAubWVtYmVyLWJpbyB7XG4gICAgICAgIGNvbG9yOiM2OTY5Njk7XG5cbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tZW1iZXItYmlvLXJpZ2h0IHtcbiAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNzYpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b21lcnMge1xuICAgIGJhY2tncm91bmQ6I2Y1ZjVmNTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDYwKSAwIHJlbS1jYWxjKDMwKSAwO1xuXG4gICAgLmN1c3RvbWVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgYmFja2dyb3VuZDojZmZmZmZmO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDExNyk7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDoxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnRoZS1wYWdlIHtcbiAgcGFkZGluZzpyZW0tY2FsYygzMCkgMCAwIDA7XG5cbiAgLnBhZ2UtaW50cm8ge1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgICBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQ1KTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICBjb2xvcjojMWI0ODg2O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIH1cblxuICAgICAgJjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLmJ1bmRsZXMtYm94IHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMTUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTgpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMTApIDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idW5kbGVzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg2MCk7XG5cbiAgICB9XG4gICAgLmJ1bmRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDQwKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgLmJ1bmRsZS1pY29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg0MCk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDc1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgIG1pbi1oZWlnaHQ6cmVtLWNhbGMoMjAwKTtcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRlbW8ge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDI1KTtcblxuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgYmFja2dyb3VuZDojYzg2YjFmO1xuICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiNjODU2MDg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sZWFybi1tb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4LjYpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ1bmRsZXMtbW9iaWxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGQ3ZWZmO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYygzMCk7XG4gICAgfVxuICAgIC5hY2NvcmRpb24ge1xuICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjMGQ3ZWZmO1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiMyOThkZmY7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcblxuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg3OCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzgpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICMyOThkZmY7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcblxuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9hcnJvdy11cC13LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygzMSkgcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC53aGl0ZS1jdGEge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcblxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubGVhcm4tbW9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY3RhLWJveCB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoODApIDA7XG4gIC5jdGEtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICBjb2xvcjojNmE4ZTJjO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0NSk7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGZsb2F0Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDYwKTtcbiAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgfVxuICB9XG4gIC5jdGEtYnV0dG9uIHtcbiAgICBmbG9hdDpub25lO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICB3aWR0aDo0MCU7XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGJhY2tncm91bmQ6IzZhOGUyYztcbiAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNDApO1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiM0YzhlMmM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi5mYXFzIHtcbiAgYmFja2dyb3VuZDojZjVmNWY1O1xuICBwYWRkaW5nOnJlbS1jYWxjKDYwKSAwO1xuICAuZmFxLXNlY3Rpb24ge1xuICAgIGgzLmNvdW50IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBjb2xvcjojNjk2OTY5O1xuICAgIH1cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNik7XG4gICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIC50aGUtZmFxLWFjY29yZGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIC5hY2NvcmRpb24ge1xuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxNSkgcmVtLWNhbGMoNTApIHJlbS1jYWxjKDE1KSByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9hcnJvdy11cC1iLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBJRSA5ICovXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtdy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygzMSkgcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFibGUuY2hhcnQtdGFibGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgICAgICAmLmtleSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1ib3gge1xuICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBoMyB7XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBtYXJnaW46MCAwIHJlbS1jYWxjKDIwKSAwO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgdG9wOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE4LjgpO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOC43KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgb3BhY2l0eTowLjc7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmZpbHRlcnMtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgcGFkZGluZzpyZW0tY2FsYygzMCkgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDE1KSByZW0tY2FsYygzMCk7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBtYXJnaW46MCAwIDAgMDtcbiAgICAgIHBhZGRpbmc6MCAwIHJlbS1jYWxjKDIwKSAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZGNkY2RjO1xuICAgIH1cbiAgICAuZmlsdGVycy1ib3gtY29udGVudCB7XG4gICAgICAuZmlsdGVycy1hY2NvcmRpb24ge1xuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMikgc29saWQgI2RjZGNkYztcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSAwIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDpub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcblxuICAgICAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuXG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtc2Iuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9hcnJvdy11cC1zYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygxNSkgMCAwIDA7XG5cbiAgICAgICAgICAgIC5maWx0ZXItaXRlbSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygtOTk5OSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnw5cnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0xMSk7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMi41KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLyogZGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmJiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLyogYWNjZXNzaWJpbGl0eSAqL1xuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wYXJ0bmVyLXByb2dyYW0ge1xuICBwYWRkaW5nOnJlbS1jYWxjKDMwKSAwIHJlbS1jYWxjKDMwKSAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYygzMCkgMCByZW0tY2FsYyg2MCkgMDtcbiAgfVxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgLnBhZ2UtdGl0bGUge1xuICAgIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNDUpO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDQwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgIGNvbG9yOiMxYjQ4ODY7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhZ2UtaW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuXG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgfVxuXG4gICAgICAmOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmN0YS1idXR0b24ge1xuXG4gICAgLmJlY29tZS1wYXJ0bmVyIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiMxYjU1YjA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5wYXJ0bmVyLWJlbmVmaXRzIHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMyOThkZmY7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE4KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGFydG5lci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ1KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgLmludHJvLXRleHQge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDUpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmVuZWZpdC1saXN0IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDE3KTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxufSIsIi5wYXJ0bmVycy10eXBlcyB7XG4gIC5tYWluLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiNmNWY1ZjU7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzUpIDAgMCAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgfVxuICB9XG4gIC5wYXJ0bmVyLXR5cGUtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDojZjVmNWY1O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMzMlICsgMzBweCk7XG4gICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IHJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lci1tb2JpbGUge1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKSByZW0tY2FsYygxMCkgcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgdGFibGUuY29tcGFyaXNvbi10YWJsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgdGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0ciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMyk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjEuMjtcblxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoMzApO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucGFydG5lci10eXBlLW5hbWUge1xuICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhcnRuZXItZmVhdHVyZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2RiZGRkYztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRuZXItY2hlY2sge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICAgICAgICAgICAgICAuY2hlY2tlZC1mZWF0dXJlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxMi4yKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTIuOSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9jaGVjay1iLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRuZXItdHlwZS1jdGEge1xuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDonICc7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOnJlbS1jYWxjKC0xMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYXJ0bmVyLXR5cGUtY3RhLWVtcHR5IHtcblxuXG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2RiZGRkYztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygtMTApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0YWJsZS5jb21wYXJpc29uLXRhYmxlLW1vYmlsZSB7XG5cbiAgICAgIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoOCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjEuNTtcblxuXG5cbiAgICAgICAgICAgICYucGFydG5lci10eXBlLW5hbWUge1xuICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnBhcnRuZXItZmVhdHVyZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcblxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRuZXItY2hlY2sge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG5cbiAgICAgICAgICAgICAgLmNoZWNrZWQtZmVhdHVyZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTIuMik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEyLjkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvY2hlY2stYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnBhcnRuZXItdHlwZS1jdGEge1xuICAgICAgICAgICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOnJlbS1jYWxjKDUwKTtcblxuICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59IiwiLnN1cHBvcnQtY2hhbm5lbHMge1xuICAubWFpbi10aXRsZSB7XG5cbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICAgIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gICAgfVxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMTUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xOCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTM2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNoYW5uZWxzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgLmNoYW5uZWwge1xuICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYyg0MCkgcmVtLWNhbGMoMzApIDAgcmVtLWNhbGMoMzApO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICAgIC5jaGFubmVsLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoODkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2hhbm5lbC1kZXRhaWxzIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDc5KTtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICAgIC5jaGFubmVsLWN0YSB7XG5cbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDczKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzMpO1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxOC42KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ibG9nLXBhZ2Uge1xuICBwYWRkaW5nOnJlbS1jYWxjKDYwKSAwO1xuICBiYWNrZ3JvdW5kOiNmNWY1ZjU7XG4gIC5yZWNlbnQtcG9zdHMge1xuICAgIC5jb3VudCB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgY29sb3I6IzY5Njk2OTtcblxuICAgIH1cbiAgICBoMy5yZWNlbnQtcG9zdHMtdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKC0xMik7XG4gICAgfVxuICAgIC5wb3N0LWl0ZW0ge1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygyOCkgMDtcbiAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2RjZGNkYztcblxuICAgICAgLnJvdyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wb3N0LXRodW1ibmFpbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgbWluLXdpZHRoOjEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE2MCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6MTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6MC44O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgIH1cblxuICAgICAgLnBvc3QtZGV0YWlscyB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjojMkQ1Rjg2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAucm93IHtcbiAgICAgICAgLm1lZGl1bS00IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYyg1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1lZGl1bS04IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgICAgLm5leHQge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMxYjQ4ODY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDp1cmwoJy4uL2ltZy9hcnJvdy11cC1iLnN2ZycpO1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIxKTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG5cbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNmNWY1ZjU7XG5cbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcblxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtYi5zdmcnKTtcbiAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMscCB7XG4gICAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtdy5zdmcnKTtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0b3A6NDUlO1xuICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsgLyogU2FmYXJpICovXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgICAuZmVhdHVyZXMge1xuICAgICAgICAgICAgLmZlYXR1cmUge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgIHN0cm9uZyB7XG5cbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5zdGFyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEzLjUpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvc3Rhci5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjY29yZGlvbi1jdGEtYm94IHtcblxuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAuaW50cm8ge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgIGNvbG9yOiM2YThlMmM7XG4gICAgICAgICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jdGEge1xuICAgICAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiM2YThlMmM7XG4gICAgICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiByZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzNzIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZjZlMDg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1ib3gge1xuICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgbWFyZ2luOjAgMCByZW0tY2FsYygyMCkgMDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICB9XG4gICAgZm9ybSB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICByaWdodDpyZW0tY2FsYygxNSk7XG4gICAgICAgIHRvcDpyZW0tY2FsYygxNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxOC44KTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTguNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmlsdGVycy1ib3gge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKSAwIHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgMCByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgIHBhZGRpbmc6IDAgMCByZW0tY2FsYygxNSkgMDtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDIpIHNvbGlkICNkY2RjZGM7XG4gICAgfVxuICAgIC5maWx0ZXJzLWJveC1jb250ZW50IHtcbiAgICAgIC5maWx0ZXJzLWFjY29yZGlvbiB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSAwIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDIpIHNvbGlkICNkY2RjZGM7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOm5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjk4ZGZmO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuXG4gICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG5cblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9hcnJvdy11cC1zYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogSUUgOSAqL1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Fycm93LXVwLXNiLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUpIDAgMCAwO1xuICAgICAgICAgICAgbWFyZ2luOjA7XG5cbiAgICAgICAgICAgIC5maWx0ZXItaXRlbSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMik7XG4gICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC05OTk5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvKiBjaGVja2JveCBhc3BlY3QgKi9cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvKiBjaGVja2VkIG1hcmsgYXNwZWN0ICovXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ8OXJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMik7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMS42KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvKiBjaGVja2VkIG1hcmsgYXNwZWN0IGNoYW5nZXMgKi9cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNiYmI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvKiBhY2Nlc3NpYmlsaXR5ICovXG4gICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFyY2hpdmVzLWJveCB7XG4gICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDUpIHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoMTUpIDA7XG4gICAgfVxuICAgIC5hcmNoaXZlcy1ib3gtY29udGVudCB7XG4gICAgICAuZmlsdGVyLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgfVxuXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTk5OTkpO1xuICAgICAgICB9XG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDIpIHNvbGlkICM2OTY5Njk7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICB9XG4gICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgKi9cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnw5cnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0yKTtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxLjYpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICB9XG4gICAgICAgIC8qIGNoZWNrZWQgbWFyayBhc3BlY3QgY2hhbmdlcyAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIH1cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIC8qIGRpc2FibGVkIGNoZWNrYm94ICovXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2JiYjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgICAgICB9XG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgfVxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICB9XG4gICAgICAgIC8qIGFjY2Vzc2liaWxpdHkgKi9cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCk6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zaW5nbGUtcG9zdC1wYWdlIHtcbiAgYmFja2dyb3VuZDojZjVmNWY1O1xuICBwYWRkaW5nOnJlbS1jYWxjKDMwKSAwIHJlbS1jYWxjKDgwKSAwO1xuICAubWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxNSk7XG4gIH1cbiAgLnNpbmdsZS1wb3N0IHtcbiAgICBoMSB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNjApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgZm9udC1zdHlsZTppdGFsaWM7XG4gICAgfVxuICB9XG4gIC5zaW5nbGUtcG9zdC1jb250ZW50IHtcbiAgICAucG9zdC1zdWJ0aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAucG9zdC1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgLnBvc3QtYm94ZWQtcGFyYWdyYXBoIHtcbiAgICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICA+IGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgfVxuICAgICAgLmJveGVkLXBhcmFncmFwaC1jb250ZW50IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLnBvc3QtcGxhaW4tcGFyYWdyYXBoIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdC1xdW90ZS1ib3gge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIG1hcmdpbjowIGF1dG8gcmVtLWNhbGMoMzApIGF1dG87XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOjg1JTtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzUpO1xuICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnJlbGF0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMyOThkZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIHJlbS1jYWxjKDIwKSAwO1xuXG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgICAgbGkge1xuICAgICAgICBib3JkZXItdG9wOiByZW0tY2FsYygyKSBzb2xpZCAjZGNkY2RjO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDIwKSAwO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zaGFyZSB7XG4gIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2RjZGNkYztcbiAgcGFkZGluZy10b3A6cmVtLWNhbGMoMjApO1xuICBzcGFuIHtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjojMjk4ZGZmO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygxMCk7XG4gICAgZmxvYXQ6bGVmdDtcbiAgfVxuICAuYXR0YWNobWVudCB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IzI5OGRmZjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgZmxvYXQ6bm9uZTtcbiAgICBjbGVhcjpib3RoO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDpyZW0tY2FsYygxOS42KTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYygyNi43KTtcbiAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmbG9hdDpsZWZ0O1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYyg0MCk7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiMxOTU1OTk7XG4gICAgICBpbWcge1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBkaXNwbGF5OmlubGluZTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgZmxvYXQ6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46MCByZW0tY2FsYygxMCk7XG4gICAgICBhIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgaW1nIHtcblxuXG4gICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYudHdpdHRlciB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI3LjIyKTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygyMi45OSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmZhY2Vib29rIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTIuNyk7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjcuMjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjcuMjIpO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI3LjIyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5lbWFpbCB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI5LjQpO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIwLjE4KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNi44KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY29udGFjdC1jaGFubmVscyB7XG4gIC5tYWluLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgfVxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkN2VmZjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTM2KTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNoYW5uZWxzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgLmNoYW5uZWwge1xuICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYyg0MCkgcmVtLWNhbGMoMzApIDAgcmVtLWNhbGMoMzApO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICAgIC5jaGFubmVsLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoODkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2hhbm5lbC1kZXRhaWxzIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDc5KTtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjojOTk5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgICAgLmNoYW5uZWwtY3RhIHtcblxuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNzMpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg3Myk7XG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNyk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4LjYpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmNvbnRhY3QtbWFwIHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjEsIDYwLCAxMDYsIDApO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViZWJlYjtcbiAgICAgIGJvcmRlci13aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zNik7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDojZWJlYmViO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zZWN0aW9uLWRldGFpbHMge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc2VjdGlvbi1jdGEge1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICNkY2RjZGM7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg3Myk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDczKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTguNik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTowLjc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50aGUtbWFwIHtcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc3d5Y2QtcGxhbnMge1xuICAubWFpbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoOTApO1xuICAgIH1cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICB9XG4gIH1cbiAgLnBsYW5zIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjk4ZGZmO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206MDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgLnBsYW4ge1xuICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICB9XG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgIG1hcmdpbjowIDAgcmVtLWNhbGMoMTApIDA7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgfVxuICAgICAgaDUge1xuICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBtYXJnaW46cmVtLWNhbGMoMTApIDAgcmVtLWNhbGMoMTUpIDA7XG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgICA+IGEge1xuICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mZWF0dXJlcyB7XG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIHBhZGRpbmc6MDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoNSkgcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2ViZWJlYjtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OnJlbS1jYWxjKC0yMCk7XG4gICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRlbW8sXG4gICAgICAuYnV5LW5vd3tcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiMyOThkZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IzFiNDg4NjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGVtbyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgIGJvcmRlcjpyZW0tY2FsYygyKSBzb2xpZCAjMjk4ZGZmO1xuICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMikgc29saWQgIzFiNDg4NjtcbiAgICAgICAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBsYW5zLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICMwZDdlZmY7XG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg3OCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNzgpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcblxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBJRSA5ICovXG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9hcnJvdy11cC13LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTowO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMzEpIHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiMyOThkZmY7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6MDtcblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgbWFyZ2luOjAgMCByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6cmVtLWNhbGMoODApO1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDEwKSAwIHJlbS1jYWxjKDE1KSAwO1xuICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mZWF0dXJlcyB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcblxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDUpIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjMUQ4MUZCO1xuXG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgIzFEODFGQjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6cmVtLWNhbGMoLTIwKTtcbiAgICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRlbW8sXG4gICAgICAgICAgLmJ1eS1ub3d7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kZW1vIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDIpIHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMjk4ZGZmO1xuICAgICAgICAgICAgICAgIGJvcmRlcjpyZW0tY2FsYygyKSBzb2xpZCAjZWVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiNlZWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIi5tb3ZyLXRpdGxlLXdyYXBwZXIge1xuICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMDtcblxuICAubW92ci10aXRsZSB7XG4gICAgaDEge1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMWI0ODg2O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW92ci1pbnRybyB7XG4gIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgLm1vdnItZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgY29sb3I6IzFiNDg4NjtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubW92ci1jdGEge1xuXG4gICAgd2lkdGg6YXV0bztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cbiAgICAgIHdpZHRoOnJlbS1jYWxjKDQ5NSk7XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6cmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICB9XG4gIH1cbn1cblxuIiwiLnJlcG9ydC1oaWdobGlnaHRzIHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMwZDdlZmY7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwZDdlZmY7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaGlnaGxpZ2h0cyB7XG4gICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoNjApO1xuICAgIH1cbiAgICAuY29sLXRleHQge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICB9XG4gICAgLm1vdnItc3ViLWZvcm0ge1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAubW92ci1zdWJzY3JpcHRpb24tZm9ybS1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNCk7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbi5tb3ZyLXdpZGdldCB7XG4gIC5oaWdobGlnaHRzIHtcbiAgICAubW92ci1zdWItZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOjA7XG4gICAgfVxuICB9XG59IiwiLmN1cnJlbnQtcmVwb3J0IHtcbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZDogIzE1M2M2YTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMTUzYzZhO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMxNTNjNmE7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucmVwb3J0cyB7XG4gICAgYmFja2dyb3VuZDogIzFiNDg4NjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICB9XG5cbiAgICAuY29sdW1ucyB7XG4gICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICMxNTNjNmE7XG4gICAgICBib3JkZXItbGVmdDpub25lO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6bm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6bm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3JkZXItbGVmdDpyZW0tY2FsYygyKSBzb2xpZCAjMTUzYzZhO1xuICAgICAgICBib3JkZXItdG9wOm5vbmU7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0Om5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDpub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5yZXBvcnQge1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6MCByZW0tY2FsYygzMCk7XG5cbiAgICAgIH1cbiAgICAgIC5yZXBvcnQtdGl0bGUge1xuICAgICAgICBtaW4taGVpZ2h0OmF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDIyMCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlcG9ydC1jdGEge1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIGltZyB7XG5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICYudmlldyB7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOC42KTtcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5kb3dubG9hZCB7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOC42KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MC43O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5yZXBvcnRzLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogIzFiNDg4NjtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICMxYjQ4ODY7XG5cbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzE4M0Q2ODtcbiAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI4KTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg3OCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg3OCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxODNENjg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICMxODNENjg7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Fycm93LXVwLXcuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygzMSkgcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxODNENjg7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKSByZW0tY2FsYygyMCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG5cblxuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMCk7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgICAgJi5kb3dubG9hZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE2LjYpO1xuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmLnZpZXcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNS4xKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE5LjYpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wcmV2aW91cy1yZXBvcnQge1xuICAubWFpbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJlYmViO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxLCA2MCwgMTA2LCAwKTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNlYmViZWI7XG4gICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucmVwb3J0cyB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMCk7XG4gICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg2MCk7XG4gICAgfVxuICAgIC5jb3B5aW5nLW5vdGVzIHtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTUpO1xuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE3KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMik7XG4gICAgICB9XG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxNyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICAgIC55ZWFycyB7XG4gICAgICAueWVhciB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI2KTtcbiAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICB9XG4gICAgICAgIC5yZXBvcnQtYWNjb3JkaW9uIHtcbiAgICAgICAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgI2Y1ZjVmNTtcbiAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNlYmViZWI7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojMWI0ODg2O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygyKSBzb2xpZCAjZWJlYmViO1xuXG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6dXJsKCcuLi9pbWcvYXJyb3ctdXAtYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2Fycm93LXVwLXcuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6YXV0bztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygzMSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygzMSkgcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOnJlbS1jYWxjKDIpIHNvbGlkICNkZGQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUpIDA7XG5cblxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuXG5cbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDpyZW0tY2FsYygwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICYuZG93bmxvYWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxOS42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI2LjcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi52aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUuMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOS42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5kb2N1bWVudGF0aW9uIHtcbiAgcGFkZGluZzpyZW0tY2FsYygzMCkgMCAwIDA7XG5cbiAgLnBhZ2UtaW50cm8ge1xuXG4gICAgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0NSk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoNDApO1xuICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgY29sb3I6IzFiNDg4NjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuICAucGFnZS1kb2N1bWVudGF0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg1MCk7XG4gICAgcCB7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIH1cblxuICAgICAgJjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgcGFkZGluZy1ib3R0b206MDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gIH1cbiAgXG4gICYgPiAucm93IHtcbiAgICAgICYgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIC5kb2MtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAuZG9jLWJsb2NrLWNvbnRlbnQge1xuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICA+IHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgICBtYXJnaW46MCAwIHJlbS1jYWxjKDMwKSAwO1xuICAgICAgICBwYWRkaW5nOjAgMCByZW0tY2FsYygxMDApIDA7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGJvcmRlci10b3A6cmVtLWNhbGMoMikgc29saWQgI2RjZGNkYztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTApIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAmLnZpZXcge1xuICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1LjEpO1xuICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxOS42KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYygxOS42KTtcbiAgICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xuICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcblxuICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMwKSByZW0tY2FsYygxNSkgMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIElFIDkgKi9cbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBTYWZhcmkgKi9cbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9hcnJvdy11cC1zYi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6cmVtLWNhbGMoMjApIHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7IC8qIFNhZmFyaSAqL1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDI0KSByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDIpIHNvbGlkICNkY2RjZGM7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygzMCkgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnZpZXcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjUuMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTkuNik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE5LjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDYwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdWwuYWNjb3JkaW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Fycm93LWRvd24tZy5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5kb2MtY3RhIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHJpZ2h0OjA7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2LjQyOCkgcmVtLWNhbGMoNy42NikgcmVtLWNhbGMoMTUpIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2VhcmNoLW5vLXJlc3VsdHMge1xuICAudGhlLWZpbHRlci1jb250ZW50cyB7XG4gICAgYmFja2dyb3VuZDojMzE5MEZDO1xuICB9XG59XG4udGhlLWZpbHRlci10aXRsZSB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDApIDA7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0NSk7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICBjb2xvcjojMWI0ODg2O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg2MCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgfVxuICB9XG59XG4udGhlLWZpbHRlci1jb250ZW50cyB7XG4gIGJhY2tncm91bmQ6I2Y1ZjVmNTtcbiAgcGFkZGluZzpyZW0tY2FsYygzMCkgMDtcbiAgLm5vdGhpbmctZm91bmQge1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNik7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzEpO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICBjb2xvcjojZmZmO1xuICB9XG4gIC5zZWFyY2hmb3JtIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICBmbG9hdDpsZWZ0O1xuICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYygxNTApO1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgd2lkdGg6cmVtLWNhbGMoMTUwKTtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgcmlnaHQ6cmVtLWNhbGMoMCk7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiMxYjQ5ODcgdXJsKCcuLi9pbWcvc2VhcmNoLWljb24tdy5zdmcnKSBuby1yZXBlYXQgOTAlIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTpyZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApO1xuXG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDI0KTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6MC44O1xuICAgICAgICBjdXJzb3I6aGFuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZpbHRlci1yZXN1bHRzIHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMzApIDA7XG4gICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDIpIHNvbGlkICNlYmViZWI7XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDM1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjojMWI0ODg2O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50aGUtZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIGNvbG9yOiM2OTY5Njk7XG4gICAgICB9XG4gICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNyk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxOC42KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNik7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTowLjc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAucGFnaW5hdGlvbiB7XG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIC5uZXh0IHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMWI0ODg2O1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgb3BhY2l0eTowLjc7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OnVybCgnLi4vaW1nL2Fycm93LXVwLWIuc3ZnJyk7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDIxKTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEzKTtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmxvZ2luLXBhZ2Uge1xuICBwYWRkaW5nLXRvcDowO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNjApO1xuXG4gIH1cbiAgLm1haW4tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6IzI5OGRmZjtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZDogIzBkN2VmZjtcbiAgICB9XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMSwgNjAsIDEwNiwgMCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMGQ3ZWZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE4KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoNSkgMDtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygtMTUpO1xuICAgICAgfVxuXG5cbiAgICAgICY6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGhlaWdodDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubG9naW4tcGFnZS1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiMyOThkZmY7XG4gICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMjApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDYwKTtcbiAgICB9XG4gICAgLnRtbC1sb2dpbiB7XG4gICAgICAubWVzc2FnZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgfVxuICAgICAgLnRtbC11c2VyLWxvZ2luLXdyYXAge1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50bWwtdXNlci1wYXNzLXdyYXAge1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50bWwtYWN0aW9uLWxpbmtzIHtcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnPyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OjAuNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50bWwtc3VibWl0LXdyYXAge1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgYmFja2dyb3VuZDojMWI0ODg2O1xuICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiMwYTNhNzQ7XG4gICAgICAgICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50bWwtcmVtZW1iZXJtZS13cmFwIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTowLjc7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIH1cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuXG4gICAgICAgIH1cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGNoZWNrYm94IGFzcGVjdCAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygyKTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuXG4gICAgICAgIH1cbiAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICfDlyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTE0KTtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyLjcpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgfVxuICAgICAgICAvKiBjaGVja2VkIG1hcmsgYXNwZWN0IGNoYW5nZXMgKi9cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB9XG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgICAvKiBkaXNhYmxlZCBjaGVja2JveCAqL1xuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNiYmI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgfVxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIH1cbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgfVxuICAgICAgICAvKiBhY2Nlc3NpYmlsaXR5ICovXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpmb2N1cyArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpOmZvY3VzICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50bWwge1xuICAgIG1heC13aWR0aDoxMDAlO1xuICB9XG5cbiAgLnJlZ2lzdGVyLWJsb2NrIHtcblxuICAgIHBhZGRpbmc6cmVtLWNhbGMoODApIDA7XG5cbiAgICAuY3RhLXRleHQge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIGNvbG9yOiMxYjQ4ODY7XG4gICAgICBmbG9hdDpub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKC0zMCk7XG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdGEtYnV0dG9uIHtcbiAgICAgIGZsb2F0Om5vbmU7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDIwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6cmVtLWNhbGMoNTApO1xuICAgICAgICBiYWNrZ3JvdW5kOiMxYjQ4ODY7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICBib3gtc2hhZG93OnJlbS1jYWxjKDYuNDI4KSByZW0tY2FsYyg3LjY2KSByZW0tY2FsYygxNSkgcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiMwYTNhNzQ7XG4gICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNTY0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHkge1xuICAuc2lnbnVwLWZvcm0ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwKSAwO1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgaW5wdXQ6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdChbdHlwZT1cImJ1dHRvblwiXSk6bm90KFt0eXBlPVwiaW1hZ2VcIl0pOm5vdChbdHlwZT1cImZpbGVcIl0pLFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDE1KTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgIH1cbiAgICAgIGZvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgY29sb3I6cmVkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgfVxuICAgICAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgICAgICAgICAuZ2ZfcmlnaHRfaGFsZiArIGxpLmdzZWN0aW9uIHtcbiAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdmaWVsZCB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAudG9wX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcblxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKSByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICAuZ2RzX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTkzKTtcbiAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm9wZW4td2luZG93IHtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzY5Njk2OTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMSkgc29saWQgIzY5Njk2OTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXJfdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICAgICAgY29sb3I6IzI5OGRmZjtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCcuLi9pbWcvYXJyb3ctZG93bi1nLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoNDUpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjojZmZmO1xuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmIHVybCgnLi4vaW1nL2Fycm93LWRvd24tZy5zdmcnKSBuby1yZXBlYXQgOTclIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDojZmZmIHVybCgnLi4vaW1nL2Fycm93LWRvd24tZy5zdmcnKSBuby1yZXBlYXQgOTclIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNlYXJjaC1maWVsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNlYXJjaC1jaG9pY2Uge1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6I2ViZWJlYjtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czowO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAuY2hvc2VuLWRyb3Age1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2ViZWJlYjtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XG5cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyX3RleHRhcmVhIHtcbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hcnJvdy1kb3duLWcuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojMjk4ZGZmO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHtcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY5Njk2OTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDE1KSAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSxcbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTk5OTlweDtcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzY5Njk2OTtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiBjaGVja2VkIG1hcmsgYXNwZWN0ICovXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyLFxuICAgICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ8OXJztcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMTYpO1xuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzI5OGRmZjtcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyogY2hlY2tlZCBtYXJrIGFzcGVjdCBjaGFuZ2VzICovXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyogZGlzYWJsZWQgY2hlY2tib3ggKi9cbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmJiO1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyogYWNjZXNzaWJpbGl0eSAqL1xuICAgICAgICAgICAgICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6Zm9jdXMgKyBsYWJlbDpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZ2lucHV0X2NvbXBsZXgge1xuXG4gICAgICAgICAgICAgICAgLmdpbnB1dF9yaWdodCB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDo0OS4zJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6cmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM2OTY5Njk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5maWVsZC10ZXJtcyB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmZpZWxkX2NhcHRjaGEge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5oaWRlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nc2VjdGlvbiB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiMyOThkZmY7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmRpdmlkZXItb25seSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgICAgICAgICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgICAgIGhlaWdodDowO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiNmZjAwMDA7XG4gICAgICAgICAgICAgICAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojZmYwMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICAgICAgICAgICAgY29sb3I6I2ZmMDAwMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoW3R5cGU9XCJidXR0b25cIl0pOm5vdChbdHlwZT1cImltYWdlXCJdKTpub3QoW3R5cGU9XCJmaWxlXCJdKSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhIHtcblxuICAgICAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgcmVkO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5nZm9ybV9mb290ZXIge1xuICAgICAgICAgICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzI5OGRmZjtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogcmVtLWNhbGMoNi40MjgpIHJlbS1jYWxjKDcuNjYpIHJlbS1jYWxjKDE1KSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxYjQ4ODY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbn1cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYyg2MCk7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG4gIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiAjMjk4ZGZmICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA0NSU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgfVxuICB9XG4gICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4O1xuICBbZGlyPVwicnRsXCJdICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4O1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoJy4uL2ltZy9hcnJvdy1sZWZ0LXNiLnN2ZycpOztcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDtcbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQtc2Iuc3ZnJyk7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi5lcnJvci1wYWdlIHtcbiAgYmFja2dyb3VuZDojZjVmNWY1O1xuICBwYWRkaW5nLXRvcDpyZW0tY2FsYyg1MCk7XG4gIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgaDEge1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICBmb250LWZhbWlseTogJ1NvdXJjZSBTYW5zIFBybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDQ1KTtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gICAgY29sb3I6IzY5Njk2OTtcbiAgfVxuICBwIHtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgIGNvbG9yOiM2OTY5Njk7XG4gIH1cbiAgLnNlYXJjaGZvcm0ge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxOSk7XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICBjb2xvcjojNjk2OTY5O1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICBib3JkZXI6bm9uZTtcbiAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OnJlbS1jYWxjKDE1MCk7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICB3aWR0aDpyZW0tY2FsYygxNTApO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDpyZW0tY2FsYygwKTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGNvbG9yOiNmZmY7XG4gICAgICBib3JkZXI6bm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IzFiNDk4NyB1cmwoJy4uL2ltZy9zZWFyY2gtaWNvbi13LnN2ZycpIG5vLXJlcGVhdCA5MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOnJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCk7XG5cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTowLjg7XG4gICAgICAgIGN1cnNvcjpoYW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdfQ== */
