@charset "UTF-8";
/*===========================================================*/
/*						     Liquid Theme Custom Sass                   */
/*===========================================================*/
/*=================== Foundation Core =======================*/
/**
 * Foundation for Sites by ZURB
 * Version 6.1.2
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&phone=41.5625em&tablet=48em&medium=64em&large=75em&xlarge=90em&xxlarge=112.5em"; }

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

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

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

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

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

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

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }

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

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

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

.column, .columns {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  width: 100%;
  float: left; }
  @media screen and (min-width: 48em) {
    .column, .columns {
      padding-left: 0.5rem;
      padding-right: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .column, .columns {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }
  .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 {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 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 {
  width: 100%;
  float: left; }
  .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 {
  width: 50%;
  float: left; }
  .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 {
  width: 33.33333%;
  float: left; }
  .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 {
  width: 25%;
  float: left; }
  .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 {
  width: 20%;
  float: left; }
  .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 {
  width: 16.66667%;
  float: left; }
  .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 {
  width: 14.28571%;
  float: left; }
  .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 {
  width: 12.5%;
  float: left; }
  .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-up-9 > .column, .small-up-9 > .columns {
  width: 11.11111%;
  float: left; }
  .small-up-9 > .column:nth-of-type(1n), .small-up-9 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-9 > .column:nth-of-type(9n+1), .small-up-9 > .columns:nth-of-type(9n+1) {
    clear: both; }
  .small-up-9 > .column:last-child, .small-up-9 > .columns:last-child {
    float: left; }

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

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

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

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

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

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

.small-centered {
  float: none;
  margin-left: auto;
  margin-right: auto; }

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

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

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

@media screen and (min-width: 64em) {
  .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 {
    width: 100%;
    float: left; }
    .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 {
    width: 50%;
    float: left; }
    .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 {
    width: 33.33333%;
    float: left; }
    .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 {
    width: 25%;
    float: left; }
    .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 {
    width: 20%;
    float: left; }
    .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 {
    width: 16.66667%;
    float: left; }
    .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 {
    width: 14.28571%;
    float: left; }
    .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 {
    width: 12.5%;
    float: left; }
    .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-up-9 > .column, .medium-up-9 > .columns {
    width: 11.11111%;
    float: left; }
    .medium-up-9 > .column:nth-of-type(1n), .medium-up-9 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-9 > .column:nth-of-type(9n+1), .medium-up-9 > .columns:nth-of-type(9n+1) {
      clear: both; }
    .medium-up-9 > .column:last-child, .medium-up-9 > .columns:last-child {
      float: left; }
  .medium-up-10 > .column, .medium-up-10 > .columns {
    width: 10%;
    float: left; }
    .medium-up-10 > .column:nth-of-type(1n), .medium-up-10 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-10 > .column:nth-of-type(10n+1), .medium-up-10 > .columns:nth-of-type(10n+1) {
      clear: both; }
    .medium-up-10 > .column:last-child, .medium-up-10 > .columns:last-child {
      float: left; }
  .medium-up-11 > .column, .medium-up-11 > .columns {
    width: 9.09091%;
    float: left; }
    .medium-up-11 > .column:nth-of-type(1n), .medium-up-11 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-11 > .column:nth-of-type(11n+1), .medium-up-11 > .columns:nth-of-type(11n+1) {
      clear: both; }
    .medium-up-11 > .column:last-child, .medium-up-11 > .columns:last-child {
      float: left; }
  .medium-up-12 > .column, .medium-up-12 > .columns {
    width: 8.33333%;
    float: left; }
    .medium-up-12 > .column:nth-of-type(1n), .medium-up-12 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-12 > .column:nth-of-type(12n+1), .medium-up-12 > .columns:nth-of-type(12n+1) {
      clear: both; }
    .medium-up-12 > .column:last-child, .medium-up-12 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; }
  .medium-centered {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 75em) {
  .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 {
    width: 100%;
    float: left; }
    .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 {
    width: 50%;
    float: left; }
    .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 {
    width: 33.33333%;
    float: left; }
    .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 {
    width: 25%;
    float: left; }
    .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 {
    width: 20%;
    float: left; }
    .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 {
    width: 16.66667%;
    float: left; }
    .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 {
    width: 14.28571%;
    float: left; }
    .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 {
    width: 12.5%;
    float: left; }
    .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-up-9 > .column, .large-up-9 > .columns {
    width: 11.11111%;
    float: left; }
    .large-up-9 > .column:nth-of-type(1n), .large-up-9 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-9 > .column:nth-of-type(9n+1), .large-up-9 > .columns:nth-of-type(9n+1) {
      clear: both; }
    .large-up-9 > .column:last-child, .large-up-9 > .columns:last-child {
      float: left; }
  .large-up-10 > .column, .large-up-10 > .columns {
    width: 10%;
    float: left; }
    .large-up-10 > .column:nth-of-type(1n), .large-up-10 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-10 > .column:nth-of-type(10n+1), .large-up-10 > .columns:nth-of-type(10n+1) {
      clear: both; }
    .large-up-10 > .column:last-child, .large-up-10 > .columns:last-child {
      float: left; }
  .large-up-11 > .column, .large-up-11 > .columns {
    width: 9.09091%;
    float: left; }
    .large-up-11 > .column:nth-of-type(1n), .large-up-11 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-11 > .column:nth-of-type(11n+1), .large-up-11 > .columns:nth-of-type(11n+1) {
      clear: both; }
    .large-up-11 > .column:last-child, .large-up-11 > .columns:last-child {
      float: left; }
  .large-up-12 > .column, .large-up-12 > .columns {
    width: 8.33333%;
    float: left; }
    .large-up-12 > .column:nth-of-type(1n), .large-up-12 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-12 > .column:nth-of-type(12n+1), .large-up-12 > .columns:nth-of-type(12n+1) {
      clear: both; }
    .large-up-12 > .column:last-child, .large-up-12 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 1.25rem;
    padding-right: 1.25rem; }
  .large-centered {
    float: none;
    margin-left: auto;
    margin-right: auto; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

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

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  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: "refrigerator-deluxe", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #C5D43F;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #cacaca;
    line-height: 0; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 64em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 1.875rem; }
  h3 {
    font-size: 1.5rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

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

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

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

li {
  font-size: inherit; }

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

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: #4A4A4A; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #4A4A4A; }
  cite:before {
    content: '\2014 \0020'; }

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

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

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

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

.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 screen and (min-width: 41.5625em) {
  .phone-text-left {
    text-align: left; }
  .phone-text-right {
    text-align: right; }
  .phone-text-center {
    text-align: center; }
  .phone-text-justify {
    text-align: justify; } }

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

@media screen and (min-width: 64em) {
  .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 screen and (min-width: 75em) {
  .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;
    color: black !important;
    box-shadow: none !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 #999;
    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; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 40px;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #C5D43F;
  color: #fff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #b0bf2b;
    color: #fff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #C5D43F;
    color: #fff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #a6b428;
      color: #fff; }
  .button.secondary {
    background-color: #ED1C24;
    color: #fff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #c41016;
      color: #fff; }
  .button.success {
    background-color: #3adb76;
    color: #fff; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #fff; }
  .button.alert {
    background-color: #ec5840;
    color: #fff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #fff; }
  .button.warning {
    background-color: #ffae00;
    color: #fff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fff; }
  .button.hollow {
    border: 1px solid #C5D43F;
    color: #C5D43F; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #687019;
      color: #687019; }
    .button.hollow.primary {
      border: 1px solid #C5D43F;
      color: #C5D43F; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #687019;
        color: #687019; }
    .button.hollow.secondary {
      border: 1px solid #ED1C24;
      color: #ED1C24; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #7b0a0e;
        color: #7b0a0e; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
    pointer-events: none; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: 0.2em; }

[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;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #000;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-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 {
    border: 1px solid #4A4A4A;
    background-color: #fefefe;
    outline: none;
    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:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #E8E8E8;
  cursor: default; }

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

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;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

label > [type='checkbox'],
label > [type='label'] {
  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: #000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.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 {
  display: table-cell;
  margin: 0;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  width: 1%;
  height: 100%;
  padding: 0 1rem;
  background: #E8E8E8;
  color: #000;
  border: 1px solid #cacaca;
  white-space: nowrap; }
  .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 {
  height: 100%;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

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

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

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

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #000;
  background-color: #fefefe;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  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%2851, 51, 51%29"></polygon></svg>');
  background-size: 9px 6px;
  background-position: right center;
  background-origin: content-box;
  background-repeat: no-repeat; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #E8E8E8;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 74.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;
  height: auto;
  width: 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-left: auto;
  margin-right: auto; }

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

.clearfix::after {
  clear: both; }

.accordion {
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #E8E8E8;
  border-bottom: 0;
  border-radius: 0;
  margin-left: 0; }

.accordion-title {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #C5D43F;
  position: relative;
  border-bottom: 1px solid #E8E8E8; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #E8E8E8; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1rem;
  display: none;
  border-bottom: 1px solid #E8E8E8;
  background-color: #fefefe; }

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

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

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #C5D43F;
  color: #fefefe; }
  .badge.secondary {
    background: #ED1C24;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #fefefe; }
  .badge.alert {
    background: #ec5840;
    color: #fefefe; }
  .badge.warning {
    background: #ffae00;
    color: #fefefe; }

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

.button-group {
  margin-bottom: 1rem;
  font-size: 0.9rem; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    float: left;
    margin: 0;
    font-size: inherit; }
    .button-group .button:not(:last-child) {
      border-right: 1px solid #fefefe; }
  .button-group.tiny {
    font-size: 0.6rem; }
  .button-group.small {
    font-size: 0.75rem; }
  .button-group.large {
    font-size: 1.25rem; }
  .button-group.expanded {
    display: table;
    table-layout: fixed;
    width: 100%; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button {
      display: table-cell;
      float: none; }
  .button-group.primary .button {
    background-color: #C5D43F;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #a6b428;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #ED1C24;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #c41016;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button {
    width: 100%; }
    .button-group.stacked .button:not(:last-child), .button-group.stacked-for-small .button:not(:last-child) {
      border-right: 1px solid; }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-small .button {
      width: auto; }
      .button-group.stacked-for-small .button:not(:last-child) {
        border-right: 1px solid #fefefe; } }
  @media screen and (min-width: 0em) and (max-width: 41.5em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        border-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  position: relative;
  color: #000;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #f6f9e2; }
  .callout.secondary {
    background-color: #fcddde; }
  .callout.success {
    background-color: #e1faea; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.warning {
    background-color: #fff3d9; }
  .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; }

.close-button {
  position: absolute;
  color: #4A4A4A;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000; }

.is-drilldown {
  position: relative;
  overflow: hidden; }

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

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

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

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

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

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

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

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

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

.dropdown.menu:not(.vertical) .is-dropdown-submenu.first-sub {
  top: 100%;
  left: 0;
  right: auto; }

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

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }
  .is-dropdown-menu.vertical > li .is-dropdown-submenu {
    top: 0;
    left: 100%; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    float: right;
    margin-top: 3px;
    margin-left: 10px; }
  .is-dropdown-submenu-parent.is-down-arrow a {
    padding-right: 1.5rem;
    position: relative; }
  .is-dropdown-submenu-parent.is-down-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #C5D43F transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: absolute;
    top: 0.825rem;
    right: 5px; }
  .is-dropdown-submenu-parent.is-left-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #C5D43F transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    float: left;
    margin-left: 0;
    margin-right: 10px; }
  .is-dropdown-submenu-parent.is-right-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #C5D43F;
    border-left-style: solid;
    border-right-width: 0; }
  .is-dropdown-submenu-parent.is-left-arrow.opens-inner .is-dropdown-submenu {
    right: 0;
    left: auto; }
  .is-dropdown-submenu-parent.is-right-arrow.opens-inner .is-dropdown-submenu {
    left: 0;
    right: auto; }
  .is-dropdown-submenu-parent.opens-inner .is-dropdown-submenu {
    top: 100%; }
  .is-dropdown-submenu-parent.opens-left .is-dropdown-submenu {
    left: auto;
    right: 100%; }

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #cacaca; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > .is-dropdown-submenu, .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

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

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (min-width: 0em) and (max-width: 41.5em) {
    .media-object.stack-for-small .media-object-section {
      display: block;
      padding: 0;
      padding-bottom: 1rem; }
      .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.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.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 a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a > img,
  .menu > li > a > i {
    vertical-align: middle; }
  .menu > li > a > span {
    vertical-align: middle; }
  .menu > li > a > img,
  .menu > li > a > i {
    display: inline-block;
    margin-right: 0.25rem; }
  .menu > li {
    display: table-cell; }
  .menu.vertical > li {
    display: block; }
  @media screen and (min-width: 41.5625em) {
    .menu.phone-horizontal > li {
      display: table-cell; }
    .menu.phone-vertical > li {
      display: block; } }
  @media screen and (min-width: 48em) {
    .menu.tablet-horizontal > li {
      display: table-cell; }
    .menu.tablet-vertical > li {
      display: block; } }
  @media screen and (min-width: 64em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-vertical > li {
      display: block; } }
  @media screen and (min-width: 75em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-vertical > li {
      display: block; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right > li {
    float: right; }
  .menu.expanded {
    display: table;
    table-layout: fixed;
    width: 100%; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a > img,
    .menu.icon-top > li > a > i {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }

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

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

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fefefe;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #E8E8E8;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -ms-transform: translateX(0);
  transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -ms-transform: translateX(250px);
      transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -ms-transform: translateX(-250px);
      transform: translateX(-250px); }

@media screen and (min-width: 41.5625em) {
  .position-left.reveal-for-phone {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-phone ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-phone {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-phone ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 48em) {
  .position-left.reveal-for-tablet {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-tablet ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-tablet {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-tablet ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

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

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

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

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

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

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

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #E8E8E8;
  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%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #C5D43F;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #b0bf2b; }
  .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;
  -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;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }

.sticky-container {
  position: relative; }

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

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

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

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

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 0px;
  border: 1px solid transparent;
  margin: 6.25rem auto 0;
  background-color: #fefefe;
  border-radius: 0;
  position: absolute;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 64em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 64em) {
    .reveal {
      width: 1000px;
      max-width: 75rem; } }
  @media screen and (min-width: 64em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 64em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media screen and (min-width: 64em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media screen and (min-width: 64em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0; }

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

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

.switch-paddle {
  background: #cacaca;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fefefe;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #C5D43F; }
    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%;
  -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 .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

.switch.tiny .switch-paddle::after {
  width: 1rem;
  height: 1rem; }

.switch.tiny input:checked ~ .switch-paddle:after {
  left: 1.75rem; }

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem; }

.switch.small .switch-paddle::after {
  width: 1.25rem;
  height: 1.25rem; }

.switch.small input:checked ~ .switch-paddle:after {
  left: 2rem; }

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem; }

.switch.large .switch-paddle::after {
  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 #f1f1f1;
    background-color: #fefefe; }
  table caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  table thead,
  table tfoot {
    background: #f8f8f8;
    color: #000; }
    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 tr:nth-child(even) {
    background-color: #f1f1f1; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@media screen and (max-width: 74.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 tr:hover {
  background-color: #f9f9f9; }

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

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

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

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

.tabs.primary {
  background: #C5D43F; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #c2d134; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 12px;
    color: #C5D43F; }
    .tabs-title > a:hover {
      background: #fefefe; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #E8E8E8; }

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

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

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(197, 212, 63, 0.5); }

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

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

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  width: 20px;
  height: 16px; }
  .menu-icon::after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
  .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;
  cursor: pointer;
  width: 20px;
  height: 16px; }
  .menu-icon.dark::after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #000;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #000, 0 14px 0 #000; }
  .menu-icon.dark:hover::after {
    background: #4A4A4A;
    box-shadow: 0 7px 0 #4A4A4A, 0 14px 0 #4A4A4A; }

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

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

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #E8E8E8; }
  .top-bar input {
    width: 200px;
    margin-right: 1rem; }
  .top-bar input.button {
    width: auto; }

@media screen and (max-width: 41.5em) {
  .stacked-for-small .top-bar-title {
    width: 100%; }
  .stacked-for-small .top-bar-right {
    width: 100%; }
  .stacked-for-small .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .stacked-for-phone .top-bar-title {
    width: 100%; }
  .stacked-for-phone .top-bar-right {
    width: 100%; }
  .stacked-for-phone .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 63.9375em) {
  .stacked-for-tablet .top-bar-title {
    width: 100%; }
  .stacked-for-tablet .top-bar-right {
    width: 100%; }
  .stacked-for-tablet .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 74.9375em) {
  .stacked-for-medium .top-bar-title {
    width: 100%; }
  .stacked-for-medium .top-bar-right {
    width: 100%; }
  .stacked-for-medium .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 89.9375em) {
  .stacked-for-large .top-bar-title {
    width: 100%; }
  .stacked-for-large .top-bar-right {
    width: 100%; }
  .stacked-for-large .top-bar-left {
    width: 100%; } }

@media screen and (min-width: 0em) and (max-width: 41.5em) {
  .top-bar-title {
    width: 100%; }
  .top-bar-right {
    width: 100%; }
  .top-bar-left {
    width: 100%; } }

.top-bar-title {
  float: left;
  margin-right: 1rem; }

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

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

/*======================== Vendor ===========================*/
/* Slider */
.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; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

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

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

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

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

/* 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: 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: white;
    opacity: 0.75;
    -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: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [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: 0.75; }

/*================= Site Layouts/Mixins =====================*/
section#thank-you {
  padding-top: 0; }

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

.page-header {
  display: none !important; }

body,
html {
  background-color: #E8E8E8; }

.slide-out-overlay {
  position: fixed;
  z-index: 123;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none; }

a.button {
  margin: 0 0.75rem;
  min-width: 12.5rem;
  transition: all 0.3s ease;
  border: 1px solid #fefefe;
  background: transparent;
  text-align: center;
  text-transform: uppercase;
  font-family: "refrigerator-deluxe", sans-serif;
  font-weight: 600;
  font-size: 1.125rem; }
  a.button:hover {
    background: #fefefe; }
  a.button:focus {
    background: #fefefe;
    border-color: #fefefe; }
  a.button.red {
    background: #ED1C24;
    color: #fefefe; }
    a.button.red.ghost {
      background: transparent;
      border: 1px solid #ED1C24; }
      a.button.red.ghost:hover {
        background: #ED1C24; }
  a.button.centered {
    margin: auto;
    display: block;
    max-width: 12rem;
    padding: 1.25rem 0; }

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgba(0, 0, 0, 0.5); }

.row {
  position: relative;
  z-index: 1; }

section {
  position: relative;
  padding: 2.5rem 0;
  background-size: 100%;
  background-position: 0px 0px;
  background-color: #E8E8E8;
  background-repeat: no-repeat; }
  @media screen and (min-width: 64em) {
    section {
      padding: 6.25rem 0; } }

.section-title {
  line-height: 56px;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 1.875rem;
  color: #000; }
  .section-title::before {
    content: "";
    width: 3.125rem;
    height: 0.4375rem;
    background: #ED1C24;
    position: relative;
    display: block;
    margin: auto;
    margin-bottom: 5px; }
  .section-title.gold {
    color: #C5D43F;
    line-height: 56px; }
    .section-title.gold::before {
      content: "";
      width: 4.6875rem;
      height: 0.4375rem;
      background: #C5D43F; }

.slick-dots {
  margin: 1rem 0 0;
  position: relative; }
  .slick-dots li {
    width: 10px; }
    .slick-dots li button:before {
      content: "";
      width: 0.625rem;
      height: 0.625rem;
      border-radius: 50%;
      border: 1px solid #fefefe;
      background: transparent;
      opacity: 1; }
    .slick-dots li.slick-active button:before {
      opacity: 1;
      content: '';
      background: #fefefe; }

.centered {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (min-width: 64em) {
    .centered {
      display: block; } }
  @media screen and (min-width: 64em) {
    .centered.full-center {
      display: -ms-flexbox;
      display: flex; } }

#cartDrawer {
  z-index: 12345 !important; }

.drawer--right {
  z-index: 12345 !important; }

.woocommerce .star-rating span:before {
  font-style: normal !important; }

.woocommerce .star-rating:before {
  font-style: normal; }

section#featured {
  padding: 60px 0; }
  @media screen and (min-width: 0em) and (max-width: 41.5em) {
    section#featured {
      background-image: none !important; } }
  @media screen and (min-width: 48em) {
    section#featured {
      padding: 100px 0; } }
  section#featured .section-title {
    margin-bottom: 2.1875rem; }
  section#featured .featured-products-row .featured-products-columns {
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (min-width: 64em) {
      section#featured .featured-products-row .featured-products-columns {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
  section#featured .featured-products-row .featured-product .featured-product-image-wrapper {
    will-change: transform;
    position: relative;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-radius: 0.625rem;
    z-index: 2;
    overflow: hidden;
    transition: background-color 0.5s ease;
    min-height: 135px; }
    @media screen and (min-width: 48em) {
      section#featured .featured-products-row .featured-product .featured-product-image-wrapper {
        min-height: 12.8125rem; } }
    @media screen and (min-width: 64em) {
      section#featured .featured-products-row .featured-product .featured-product-image-wrapper {
        min-height: 19.0625rem; } }
    @media screen and (min-width: 75em) {
      section#featured .featured-products-row .featured-product .featured-product-image-wrapper {
        min-height: 12.8125rem; } }
    section#featured .featured-products-row .featured-product .featured-product-image-wrapper .featured-product-image {
      transition: all 0.5s ease;
      z-index: 1;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-size: cover;
      background-position: 50% 50%;
      background-repeat: no-repeat; }
      section#featured .featured-products-row .featured-product .featured-product-image-wrapper .featured-product-image:hover {
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
  section#featured .featured-products-row .featured-product hr {
    margin: 0;
    width: 100%;
    height: 0.0625rem;
    position: relative;
    display: block;
    background: #ED1C24;
    margin-top: 0.625rem; }
  section#featured .featured-products-row .featured-product .title-arrow-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center; }
    section#featured .featured-products-row .featured-product .title-arrow-wrapper .featured-product-title {
      transition: all 0.5s ease;
      color: #000;
      margin-top: 0.625rem;
      -ms-transform: translateX(20px);
      transform: translateX(20px);
      text-transform: uppercase;
      font-size: 1.25rem; }
    section#featured .featured-products-row .featured-product .title-arrow-wrapper .arrow {
      transition: all 0.5s ease;
      opacity: 0;
      -ms-transform: translateX(-20px);
      transform: translateX(-20px); }
  section#featured .featured-products-row .featured-product:hover .arrow {
    opacity: 1;
    -ms-transform: translateX(5px);
    transform: translateX(5px); }
  section#featured .featured-products-row .featured-product:hover .featured-product-title {
    color: #ED1C24;
    -ms-transform: translateX(0px);
    transform: translateX(0px); }
  section#featured .featured-products-row .featured-product:hover .featured-product-image-wrapper {
    background: #ED1C24; }
    section#featured .featured-products-row .featured-product:hover .featured-product-image-wrapper .featured-product-image {
      opacity: 0.25;
      border-radius: 10px;
      -ms-transform: scale(1.3);
      transform: scale(1.3); }
  section#featured .featured-products-row .featured-cta-wrapper {
    margin-top: 1.875rem; }
    section#featured .featured-products-row .featured-cta-wrapper .button {
      width: 250px;
      max-width: 100%;
      border: 1px solid #ED1C24;
      box-shadow: -1px 7px 19px 0 rgba(0, 0, 0, 0.45); }
      @media screen and (min-width: 48em) {
        section#featured .featured-products-row .featured-cta-wrapper .button {
          width: 220px; } }
      section#featured .featured-products-row .featured-cta-wrapper .button:hover {
        background: #E8E8E8;
        border-color: #ED1C24;
        color: #ED1C24; }

.woocommerce-error, .woocommerce-message, .woocommerce-info {
  min-height: 80px;
  position: fixed;
  top: -7px;
  left: 0;
  width: 100%;
  z-index: 123 !important; }
  .woocommerce-error *, .woocommerce-message *, .woocommerce-info * {
    line-height: 50px !important; }
  .woocommerce-error a, .woocommerce-message a, .woocommerce-info a {
    border-radius: 35px !important;
    color: #000 !important;
    height: 50px !important;
    width: 200px !important;
    line-height: 30px !important;
    font-family: "refrigerator-deluxe", sans-serif !important;
    font-size: 1rem !important;
    background-color: #C5D43F !important; }
    .woocommerce-error a:hover, .woocommerce-message a:hover, .woocommerce-info a:hover {
      background-color: transparent !important;
      border: 1px solid #C5D43F !important;
      color: #C5D43F !important; }

ul.woocommerce-error {
  background-color: #ED1C24 !important;
  padding: 0;
  margin: 0;
  color: white;
  text-align: center;
  z-index: 123456;
  font-family: "proxima-nova";
  font-weight: 700; }
  ul.woocommerce-error li {
    padding: 0 20px !important;
    margin-bottom: 20px !important;
    line-height: 25px !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
    -ms-flex-align: center !important;
    align-items: center !important; }
  ul.woocommerce-error a {
    margin-top: 25px !important;
    text-align: center; }

.woocommerce-message {
  background: #000;
  color: white;
  height: 115px;
  position: fixed;
  top: -7px;
  left: 0;
  width: 100%;
  z-index: 123456;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "proxima-nova";
  font-weight: 700;
  color: #fefefe; }
  @media screen and (min-width: 48em) {
    .woocommerce-message {
      display: block !important;
      min-height: 5rem; } }

section#grid-test {
  position: fixed;
  background: transparent !important;
  padding: 0 !important;
  display: none;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 999999999999999990009493940934934059999 !important; }
  section#grid-test .grid-test-row {
    height: 100%;
    background: rgba(128, 128, 128, 0.2);
    position: relative !important;
    display: block !important;
    width: 100%; }
    @media screen and (min-width: 48em) {
      section#grid-test .grid-test-row {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center; } }
    section#grid-test .grid-test-row .columns {
      -ms-flex: 1;
      flex: 1;
      height: 100%; }
      @media screen and (min-width: 48em) {
        section#grid-test .grid-test-row .columns {
          -ms-flex: 1;
          flex: 1;
          height: 100%;
          max-width: 12.5%;
          width: 100%; } }
      @media screen and (min-width: 64em) {
        section#grid-test .grid-test-row .columns {
          max-width: 8.333% !important; } }
      section#grid-test .grid-test-row .columns .column, section#grid-test .grid-test-row .columns .columns {
        background: rgba(255, 0, 0, 0.25);
        height: 100%;
        width: 100%; }

* {
  outline: 0 !important; }

.global-bg-img {
  background-repeat: no-repeat; }
  @media screen and (min-width: 0em) and (max-width: 41.5em) {
    .global-bg-img {
      background-image: none !important; } }

.flex-video {
  margin: 0; }

@media screen and (min-width: 64em) {
  .top-bar {
    padding: 0; }
    .top-bar .menu-logo {
      height: 4.0625rem;
      display: table;
      background: transparent; }
      .top-bar .menu-logo li a {
        padding: 0 1rem; }
    .top-bar .menu-items > li > a {
      height: 4.0625rem;
      line-height: 4.0625rem;
      padding: 0 1rem; }
    .top-bar .is-dropdown-submenu-parent.is-right-arrow > a::after {
      display: none; } }

.title-bar {
  padding: 0; }
  .title-bar .menu {
    height: 2.8125rem;
    display: table; }
    .title-bar .menu li.menu-toggle-icon {
      font-size: 0; }
    .title-bar .menu li a {
      padding: 0 0.5rem; }
    .title-bar .menu li img {
      margin-right: 0;
      max-height: 2.8125rem; }

nav.top-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  padding: 1.25rem 2.5rem; }
  nav.top-nav .header-logo svg {
    max-width: 95px;
    height: 100px;
    width: 100%; }
  nav.top-nav .nav-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center; }
  nav.top-nav ul li a {
    color: #fefefe;
    text-transform: uppercase;
    text-align: center;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    transition: all .3s ease; }
    nav.top-nav ul li a:hover {
      opacity: 0.5; }

nav.drop-nav {
  background: #171717;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: -10rem;
  left: 0;
  z-index: 99;
  width: 100%;
  padding: 0;
  transition: all 0.3s ease;
  padding-right: 2.5rem;
  max-height: 75px;
  overflow: hidden; }
  nav.drop-nav a svg {
    margin-top: 7rem;
    margin-left: -7rem; }
  nav.drop-nav .nav-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center; }
  nav.drop-nav.scrolling {
    top: 0 !important; }
  nav.drop-nav .secondary-logo {
    max-width: 200px;
    overflow: hidden; }
    nav.drop-nav .secondary-logo svg {
      height: 60px;
      width: 200px;
      max-width: 200px; }
  nav.drop-nav ul li a {
    color: #fefefe;
    text-transform: uppercase;
    text-align: center;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    transition: all .3s ease; }
    nav.drop-nav ul li a:hover {
      opacity: 0.5; }

.header-cart {
  margin-left: 1rem;
  display: block;
  position: relative; }
  .header-cart svg {
    height: 50px; }

.mobile-menu-icon-wrapper {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  width: 5rem;
  height: 5rem;
  z-index: 123456; }
  .mobile-menu-icon-wrapper .mobile-menu-icon {
    position: relative;
    box-shadow: -1px 7px 19px 0 rgba(1, 0, 0, 0.35);
    transition: all .5s ease;
    position: fixed;
    background: #C5D43F;
    width: 5rem;
    height: 5rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%; }
    .mobile-menu-icon-wrapper .mobile-menu-icon .menu-icon-text {
      margin: 0;
      color: #000;
      text-transform: uppercase;
      font-family: "refrigerator-deluxe", sans-serif;
      font-size: 1.125rem; }
    .mobile-menu-icon-wrapper .mobile-menu-icon.front {
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
    .mobile-menu-icon-wrapper .mobile-menu-icon.back {
      transform: rotateX(180deg);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      background-color: #ED1C24; }
      .mobile-menu-icon-wrapper .mobile-menu-icon.back a {
        color: #fefefe; }
  .mobile-menu-icon-wrapper.active .front {
    transform: rotateX(180deg);
    box-shadow: none; }
  .mobile-menu-icon-wrapper.active .back {
    transform: rotateX(0deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

nav#mobile-menu {
  transition: all .5s ease;
  background: #000;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 12345;
  display: block;
  left: 0;
  top: 110vh;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center; }
  nav#mobile-menu .mobile-menu-title {
    text-transform: uppercase;
    text-align: center;
    font-size: 1.25rem; }
  nav#mobile-menu ul {
    margin: 0; }
    nav#mobile-menu ul li {
      text-align: center; }
      nav#mobile-menu ul li a {
        color: #E8E8E8;
        line-height: 42px;
        text-transform: uppercase;
        font-size: 1.5rem;
        font-family: "refrigerator-deluxe", sans-serif; }
    nav#mobile-menu ul.shopping-cart-mobile a span {
      color: #C5D43F; }
    nav#mobile-menu ul.shopping-cart-mobile a.empty span {
      color: #fefefe !important; }
    nav#mobile-menu ul.sub-mobile li a {
      text-transform: uppercase;
      line-height: 36px;
      font-size: 1.125rem; }
  nav#mobile-menu.active {
    top: 0; }

footer.site-footer {
  z-index: 1;
  padding: 3.75rem 0 3.125rem;
  position: relative;
  background-size: cover;
  background-position: 0 75%; }
  @media screen and (min-width: 48em) {
    footer.site-footer {
      padding: 6.25rem 0 3.125rem; } }
  footer.site-footer .overlay-for-mobile {
    background: #E8E8E8;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    display: block; }
    @media screen and (min-width: 48em) {
      footer.site-footer .overlay-for-mobile {
        display: none; } }
  footer.site-footer .social-row {
    z-index: 12; }
    footer.site-footer .social-row .social-title {
      margin-bottom: 1.875rem; }
    footer.site-footer .social-row .social-media {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center; }
      footer.site-footer .social-row .social-media a {
        transition: all 0.3s ease;
        width: 4rem;
        height: 4rem;
        border: 3px solid #000;
        border-radius: 50%;
        margin: 0 0.5rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center; }
        footer.site-footer .social-row .social-media a i {
          transition: all 0.3s ease;
          color: #000;
          font-size: 1.875rem; }
        footer.site-footer .social-row .social-media a:hover {
          background: #000; }
          footer.site-footer .social-row .social-media a:hover i {
            color: #fefefe; }
    footer.site-footer .social-row .email-wrapper {
      text-align: center;
      margin-top: 1.875rem; }
      footer.site-footer .social-row .email-wrapper .email {
        transition: all 0.3s ease;
        color: #000;
        margin-bottom: 2.5rem;
        display: block;
        font-size: 1.5rem;
        font-weight: 600; }
        @media screen and (min-width: 48em) {
          footer.site-footer .social-row .email-wrapper .email {
            font-size: 1.875rem;
            font-weight: 600; } }
        @media screen and (min-width: 64em) {
          footer.site-footer .social-row .email-wrapper .email {
            margin-bottom: 4.6875rem; } }
        footer.site-footer .social-row .email-wrapper .email:hover {
          opacity: 0.5; }
  footer.site-footer .sitemap-row {
    z-index: 12;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media screen and (min-width: 64em) {
      footer.site-footer .sitemap-row {
        -ms-flex-direction: row;
        flex-direction: row; } }
    footer.site-footer .sitemap-row .footer-logo svg {
      margin: auto;
      display: block; }
    footer.site-footer .sitemap-row .footer-menu ul {
      -moz-column-count: 3;
      column-count: 3;
      list-style: none; }
      footer.site-footer .sitemap-row .footer-menu ul li {
        height: 1.5625rem; }
        footer.site-footer .sitemap-row .footer-menu ul li a {
          color: #4A4A4A;
          font-size: 1.125rem;
          text-transform: uppercase;
          font-family: "refrigerator-deluxe", sans-serif;
          font-weight: 600;
          transition: all .3s ease; }
          footer.site-footer .sitemap-row .footer-menu ul li a:hover {
            opacity: 0.5; }
  footer.site-footer .general-info-row {
    z-index: 12;
    text-align: center;
    margin-top: 1.875rem; }
    footer.site-footer .general-info-row .made-in-the-usa {
      color: #4A4A4A;
      text-transform: uppercase;
      font-size: 1.5rem;
      font-family: "refrigerator-deluxe", sans-serif; }
    footer.site-footer .general-info-row .copyright {
      margin: 0;
      font-size: 0.875rem; }
      footer.site-footer .general-info-row .copyright span {
        display: block; }
        @media screen and (min-width: 48em) {
          footer.site-footer .general-info-row .copyright span {
            display: inline; } }
      footer.site-footer .general-info-row .copyright a {
        color: #4A4A4A; }
    footer.site-footer .general-info-row .footer-title {
      letter-spacing: 0.5625rem;
      line-height: 3.5rem;
      text-transform: uppercase;
      font-size: 3rem;
      font-weight: 600; }
  footer.site-footer .newsletter {
    margin-top: 2.8125rem; }
    @media screen and (min-width: 64em) {
      footer.site-footer .newsletter {
        margin-top: 0; } }
    footer.site-footer .newsletter .newsletter-title {
      color: #4A4A4A;
      margin-bottom: 0;
      text-transform: uppercase;
      text-align: center; }
      @media screen and (min-width: 64em) {
        footer.site-footer .newsletter .newsletter-title {
          text-transform: uppercase;
          text-align: left; } }
    footer.site-footer .newsletter .newsletter-subtitle {
      color: #929086;
      line-height: 18px;
      padding: 0 2.1875rem;
      text-align: center;
      font-size: 0.875rem; }
      @media screen and (min-width: 64em) {
        footer.site-footer .newsletter .newsletter-subtitle {
          padding: 0;
          text-align: left; } }
    footer.site-footer .newsletter form {
      position: relative; }
      footer.site-footer .newsletter form label {
        display: none !important; }
      footer.site-footer .newsletter form input {
        height: 3.125rem;
        padding-left: 0.9375rem !important;
        color: #4A4A4A;
        border-radius: 8px;
        opacity: 0.5;
        font-size: 0.875rem; }
        @media screen and (min-width: 64em) {
          footer.site-footer .newsletter form input {
            opacity: 1; } }
      footer.site-footer .newsletter form input[type="submit"] {
        opacity: 1;
        color: #fefefe;
        font-size: 16px;
        width: auto;
        margin: 0 16px 0 0;
        position: absolute;
        top: 0px;
        right: -25px;
        border-radius: 0;
        border-radius: 0px 10px 10px 0px;
        height: 3.125rem;
        padding: 0;
        width: 100px;
        background: #4A4A4A;
        padding: 0 !important;
        max-width: 5rem;
        text-transform: uppercase;
        font-family: "refrigerator-deluxe", sans-serif; }

section#legacy {
  padding: 60px 0;
  background-size: 976px;
  background-position: 0% 50%; }
  @media screen and (min-width: 48em) {
    section#legacy {
      padding: 100px 0; } }
  @media screen and (min-width: 64em) {
    section#legacy {
      background-size: cover;
      background-position: 50% 50%; } }
  section#legacy .reveal {
    overflow: visible;
    outline: none; }
    section#legacy .reveal .close-button {
      right: -2rem;
      top: -2rem;
      color: #fefefe; }
    section#legacy .reveal .flex-video {
      margin-bottom: 0; }
  section#legacy .legacy-row .legacy-title {
    font-size: 3rem;
    font-weight: 600; }
    @media screen and (min-width: 64em) {
      section#legacy .legacy-row .legacy-title {
        margin-top: 2.75rem;
        line-height: 3.5rem;
        margin-bottom: 1.125rem; } }
  section#legacy .legacy-row .legacy-subtitle {
    color: #E8E8E8;
    line-height: 1.125rem;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
    font-family: "proxima-nova"; }
    @media screen and (min-width: 64em) {
      section#legacy .legacy-row .legacy-subtitle {
        margin-bottom: 3.125rem;
        font-size: 1.125rem; } }
  section#legacy .legacy-row .legacy-video-cta a {
    display: block;
    height: 80px;
    position: relative;
    background: transparent; }
    section#legacy .legacy-row .legacy-video-cta a svg {
      position: absolute;
      top: 0;
      width: 80px;
      height: 80px;
      left: 50%;
      margin-left: -40px;
      transition: all .3s ease; }
      section#legacy .legacy-row .legacy-video-cta a svg .play-fill {
        fill: #C5D43F; }
      section#legacy .legacy-row .legacy-video-cta a svg.play {
        opacity: 1; }
      section#legacy .legacy-row .legacy-video-cta a svg.hover {
        opacity: 0; }
    section#legacy .legacy-row .legacy-video-cta a:hover svg.play {
      opacity: 0; }
    section#legacy .legacy-row .legacy-video-cta a:hover svg.hover {
      opacity: 1; }
  section#legacy .legacy-row .mobile-legacy-video-cta {
    margin-top: 2.1875rem; }
    section#legacy .legacy-row .mobile-legacy-video-cta a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: center;
      align-items: center; }
      section#legacy .legacy-row .mobile-legacy-video-cta a span {
        text-transform: uppercase;
        font-family: "refrigerator-deluxe", sans-serif;
        font-weight: 600;
        font-size: 1.25rem; }
      section#legacy .legacy-row .mobile-legacy-video-cta a svg {
        margin: 0 0 0 0.625rem;
        max-width: 1.625rem;
        max-height: 1.625rem; }

section#testimonials {
  background-color: #000;
  margin-top: -1rem; }
  section#testimonials .testimonials-row {
    margin-top: -2rem;
    color: #fefefe; }
    @media screen and (min-width: 64em) {
      section#testimonials .testimonials-row {
        margin-top: -10rem; } }
    section#testimonials .testimonials-row .testimonial {
      padding: 0 0.3125rem;
      text-align: center; }
      @media screen and (min-width: 48em) {
        section#testimonials .testimonials-row .testimonial {
          padding: 0 2.5rem; } }
      section#testimonials .testimonials-row .testimonial .testimonial-img {
        margin: auto;
        display: block;
        margin-bottom: 1.6875rem;
        border-radius: 50%;
        height: 6.875rem;
        width: 6.875rem;
        transition: all .3s ease;
        will-change: transform;
        background-color: #fefefe;
        background-size: contain;
        background-position: 60% 50%;
        background-repeat: no-repeat; }
      section#testimonials .testimonials-row .testimonial .testimonial-body {
        margin-bottom: 0.75rem; }
        section#testimonials .testimonials-row .testimonial .testimonial-body * {
          line-height: 1.125rem;
          text-align: center;
          font-size: 1rem;
          font-family: "proxima-nova"; }
      section#testimonials .testimonials-row .testimonial .testimonial-author {
        text-align: center; }

.home section#hero {
  min-height: 36.0625rem; }
  .home section#hero .hero-title {
    font-size: 2.25rem; }
    @media screen and (min-width: 48em) {
      .home section#hero .hero-title {
        font-size: 3rem; } }

section#hero {
  padding: 60px 0 50px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  background-position: 50% 50%;
  background-size: cover; }
  @media screen and (min-width: 64em) {
    section#hero {
      padding-top: 125px;
      padding-bottom: 60px; } }
  section#hero .hero-row {
    width: 100%; }
    section#hero .hero-row .mobile-logo svg {
      max-width: 100%;
      max-height: 200px; }
    section#hero .hero-row .hero-subtitle {
      color: #fefefe;
      margin-bottom: 2.5rem; }
      section#hero .hero-row .hero-subtitle * {
        line-height: 1.25rem;
        font-size: 1.125rem;
        font-family: "proxima-nova"; }
      @media screen and (min-width: 64em) {
        section#hero .hero-row .hero-subtitle {
          margin-bottom: 3.125rem; } }
      section#hero .hero-row .hero-subtitle.featured-title {
        line-height: 3.125rem;
        font-size: 3rem;
        font-family: "refrigerator-deluxe", sans-serif;
        font-weight: 600;
        text-transform: uppercase; }
    section#hero .hero-row .hero-ctas {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: center;
      align-items: center;
      margin-bottom: 50px; }
      @media screen and (min-width: 48em) {
        section#hero .hero-row .hero-ctas {
          -ms-flex-direction: row;
          flex-direction: row; } }
      section#hero .hero-row .hero-ctas a {
        margin-bottom: 0.625rem;
        width: 100%;
        max-width: 250px;
        min-height: 60px;
        line-height: 30px; }
        @media screen and (min-width: 48em) {
          section#hero .hero-row .hero-ctas a {
            max-width: 170px;
            min-width: 0;
            border: 1px solid #fefefe;
            margin-bottom: 0; } }
        @media screen and (min-width: 64em) {
          section#hero .hero-row .hero-ctas a {
            max-width: 200px; } }
        section#hero .hero-row .hero-ctas a:first-of-type {
          background: #fefefe;
          color: #000;
          margin-bottom: 24px; }
          @media screen and (min-width: 48em) {
            section#hero .hero-row .hero-ctas a:first-of-type {
              margin-bottom: 0; } }
          section#hero .hero-row .hero-ctas a:first-of-type:hover {
            background: transparent;
            border-color: #fefefe;
            color: #fefefe; }
        section#hero .hero-row .hero-ctas a:hover {
          color: #000; }
      section#hero .hero-row .hero-ctas.hero-filters a {
        background: transparent;
        color: #fefefe; }
        section#hero .hero-row .hero-ctas.hero-filters a:active, section#hero .hero-row .hero-ctas.hero-filters a:focus {
          background: transparent; }
        section#hero .hero-row .hero-ctas.hero-filters a:first-of-type {
          background: transparent; }
        section#hero .hero-row .hero-ctas.hero-filters a:hover {
          background: #fefefe;
          color: #000; }
        section#hero .hero-row .hero-ctas.hero-filters a.mixitup-control-active {
          background: #fefefe;
          color: #000; }
        section#hero .hero-row .hero-ctas.hero-filters a.active {
          background-color: #fefefe;
          color: #000; }

.hero-title {
  text-transform: uppercase;
  margin-top: 2.75rem;
  font-size: 2.5rem; }
  @media screen and (min-width: 48em) {
    .hero-title {
      font-size: 3rem; } }
  @media screen and (min-width: 64em) {
    .hero-title {
      line-height: 3.5rem;
      margin-bottom: 1.125rem; } }
  .hero-title::before {
    content: "";
    width: 4.6875rem;
    height: 0.4375rem;
    background: #C5D43F;
    position: relative;
    display: block;
    margin: auto auto 0.3125rem; }
  .hero-title.blog-featured-subtitle {
    line-height: 3.5rem;
    margin-bottom: 1.25rem;
    font-size: 3rem; }
    .hero-title.blog-featured-subtitle::before {
      content: "";
      width: 3.125rem;
      height: 0.3125rem;
      background: #C5D43F;
      position: relative;
      display: block;
      margin: auto auto 0; }
    @media screen and (min-width: 48em) {
      .hero-title.blog-featured-subtitle {
        line-height: 2.5rem;
        font-size: 1.5rem; } }

section#training {
  padding: 60px 0;
  padding-bottom: 0;
  background-color: #E8E8E8; }
  @media screen and (min-width: 48em) {
    section#training {
      padding: 100px 0; } }
  section#training .section-title {
    margin-bottom: 50px; }
  section#training .training-row .training-event:last-of-type hr {
    display: none; }
  section#training .training-row .training-event .event-date-circle {
    background: #000;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 6.25rem;
    height: 6.25rem;
    border-radius: 50%;
    margin: auto;
    margin-bottom: 1.125rem; }
    section#training .training-row .training-event .event-date-circle span {
      color: #fefefe;
      font-family: "refrigerator-deluxe", sans-serif; }
      section#training .training-row .training-event .event-date-circle span.date-day {
        line-height: 30px;
        font-size: 2.25rem;
        font-weight: 600; }
      section#training .training-row .training-event .event-date-circle span.date-month {
        line-height: 25px;
        text-transform: uppercase;
        font-size: 1.5rem;
        font-weight: 600; }
  section#training .training-row .training-event .event-location {
    text-transform: uppercase;
    text-align: center;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.25rem;
    font-weight: 600; }
  section#training .training-row .training-event .event-title a {
    transition: all .3s ease;
    color: #000;
    margin-bottom: 2.5rem;
    font-family: "proxima-nova";
    font-size: 1.5rem;
    font-weight: 600; }
    section#training .training-row .training-event .event-title a:hover {
      opacity: 0.5; }
  section#training .training-row .training-event hr {
    margin-bottom: 3.125rem; }

section#outfitters {
  background-size: cover;
  background-position: 50%; }
  section#outfitters .outfitters-row .outfitters-list .outfitters-list-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (min-width: 64em) {
      section#outfitters .outfitters-row .outfitters-list .outfitters-list-row {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
  section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper {
    margin-bottom: 2.5rem;
    text-align: center; }
    @media screen and (min-width: 48em) {
      section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper {
        text-align: left; } }
    section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper .outfitter {
      border-radius: 8px;
      padding: 2.125rem;
      background: #fefefe;
      width: 100%;
      height: 100%;
      display: block;
      position: relative; }
      section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper .outfitter .state {
        color: #000;
        margin: 0;
        text-transform: uppercase;
        font-family: "refrigerator-deluxe", sans-serif;
        font-size: 1.25rem; }
      section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper .outfitter .outfitters-title {
        margin-bottom: 0.25rem;
        color: #000;
        line-height: 29px;
        font-size: 1.5rem;
        font-family: "proxima-nova"; }
      section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper .outfitter .outfitters-phone {
        color: #000;
        display: block;
        font-size: 1.125rem; }
      section#outfitters .outfitters-row .outfitters-list .outfitter-wrapper .outfitter .outfitters-website {
        color: #000; }

section#about {
  padding: 60px 0;
  background-repeat: no-repeat !important; }
  @media screen and (min-width: 48em) {
    section#about {
      padding: 100px 0; } }
  section#about .about-row .columns {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  section#about .about-row .image-wrapper {
    position: relative;
    margin-bottom: 2.5rem;
    transition: all .3s ease; }
    section#about .about-row .image-wrapper:hover svg.hover {
      opacity: 1; }
    section#about .about-row .image-wrapper:hover svg.play {
      opacity: 0; }
    section#about .about-row .image-wrapper .about-image {
      margin: auto;
      display: block;
      width: 100%;
      border-radius: 0.625rem; }
    section#about .about-row .image-wrapper svg {
      transition: all .3s ease;
      position: absolute;
      left: 50%;
      top: 50%;
      width: 80px;
      height: 80px;
      margin-left: -2.5rem;
      margin-top: -2.5rem;
      max-width: 100%; }
      section#about .about-row .image-wrapper svg.play {
        opacity: 1; }
      section#about .about-row .image-wrapper svg.hover {
        opacity: 0; }

section#blog {
  padding: 60px 0; }
  @media screen and (min-width: 48em) {
    section#blog {
      padding: 100px 0; } }
  section#blog .blog-row {
    display: block; }
    section#blog .blog-row .post {
      min-height: 615px;
      margin-bottom: 3.4375rem; }
      @media screen and (min-width: 48em) {
        section#blog .blog-row .post {
          max-width: 50%; } }
      @media screen and (min-width: 64em) {
        section#blog .blog-row .post {
          max-width: 100%; } }
      section#blog .blog-row .post .featured-image {
        min-height: 15.625rem;
        width: 100%;
        border-radius: 0.625rem;
        max-width: 310px;
        margin: auto;
        display: block;
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat; }
        @media screen and (min-width: 48em) {
          section#blog .blog-row .post .featured-image {
            max-width: 100%; } }
      section#blog .blog-row .post .post-date {
        margin-top: 1.5625rem;
        text-align: center;
        margin-bottom: 0;
        color: #929086;
        font-weight: 600;
        font-size: 1.25rem;
        font-family: "refrigerator-deluxe", sans-serif; }
      section#blog .blog-row .post .post-title a {
        width: 100%;
        display: block;
        color: #000;
        line-height: 28px;
        margin-bottom: 1.5625rem;
        transition: all .3s ease;
        text-transform: uppercase;
        text-align: center;
        font-weight: 600;
        font-size: 1.875rem; }
        @media screen and (min-width: 41.5625em) {
          section#blog .blog-row .post .post-title a {
            font-size: 1.5rem; } }
        section#blog .blog-row .post .post-title a:hover {
          opacity: 0.5; }
      section#blog .blog-row .post .excerpt {
        font-size: 0.875rem;
        text-align: center; }
        section#blog .blog-row .post .excerpt a {
          display: none; }
      section#blog .blog-row .post .read-on {
        margin: auto;
        display: block;
        margin-top: 1.5625rem;
        color: #000;
        border-color: #000;
        background-color: transparent;
        max-width: 90%;
        width: 100%;
        min-width: 0; }
        @media screen and (min-width: 48em) {
          section#blog .blog-row .post .read-on {
            max-width: 9.375rem; } }
        section#blog .blog-row .post .read-on:hover {
          border-color: #fefefe;
          background-color: #fefefe;
          color: #000; }

.single-post section#hero {
  min-height: 280px; }
  @media screen and (min-width: 48em) {
    .single-post section#hero {
      min-height: 27.8125rem; } }
  .single-post section#hero .hero-row .hero-title.single-blog-date {
    margin: 0;
    line-height: 45px;
    margin-bottom: 0.5rem;
    color: #C5D43F;
    font-size: 1.5rem !important;
    font-family: "refrigerator-deluxe", sans-serif;
    font-weight: 600; }
  .single-post section#hero .hero-row .hero-subtitle {
    line-height: 36px;
    font-size: 2.5rem; }
    @media screen and (min-width: 48em) {
      .single-post section#hero .hero-row .hero-subtitle {
        font-size: 3rem; } }

.single-post section#blog-single .blog-single-row .post-content-wrapper img {
  border-radius: 0.625rem; }

section#products {
  padding-bottom: 0; }
  section#products .filter-products-row {
    -ms-flex-align: start;
    align-items: flex-start; }
    section#products .filter-products-row .filters-wrapper .filters-title {
      color: #000;
      text-transform: uppercase;
      text-align: left;
      font-family: "proxima-nova";
      font-weight: 600; }
    section#products .filter-products-row .filters-wrapper .sticky {
      width: 100%; }
    section#products .filter-products-row .filters-wrapper .filter-buttons {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-bottom: 1.875rem; }
      section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary {
        margin: 0;
        height: 40px;
        min-width: 0;
        width: 100%;
        max-width: 100px;
        padding: 0;
        -ms-flex: 1;
        flex: 1;
        color: #000;
        border: 1px solid #000;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        background: #E8E8E8;
        text-transform: none;
        font-family: "proxima-nova";
        font-weight: 200;
        font-size: 0.875rem; }
        section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary:hover {
          background: #000;
          color: #fefefe; }
        section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary.active {
          background: #000;
          color: #fefefe; }
        section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary:active {
          background: #000; }
        section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary:focus {
          background: #000;
          color: #fefefe; }
        section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary.mixitup-control-active {
          background: #000;
          color: #fefefe; }
        section#products .filter-products-row .filters-wrapper .filter-buttons a.button.primary:last-of-type {
          margin-left: 20px; }
    section#products .filter-products-row .filters-wrapper .accordion {
      background: transparent; }
      section#products .filter-products-row .filters-wrapper .accordion .accordion-item {
        border-bottom: 1px solid #000; }
        section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-title {
          color: #000;
          padding-left: 0;
          text-transform: uppercase;
          text-align: left;
          font-size: 0.875rem;
          font-weight: 600; }
          section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-title:active, section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-title:focus, section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-title:hover {
            background: transparent; }
          section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-title::before {
            font-family: "proxima-nova";
            font-weight: 900;
            font-size: 1.25rem; }
        section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-content {
          padding-top: 0;
          background: transparent; }
          section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-content ul {
            margin: 0;
            list-style: none;
            color: #000;
            text-align: left; }
            section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-content ul li.mixitup-control-active, section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-content ul li:focus, section#products .filter-products-row .filters-wrapper .accordion .accordion-item .accordion-content ul li.active {
              font-weight: 600; }

.products {
  margin-bottom: 3.75rem;
  padding: 0; }
  .products .mix-container .row {
    clear: both;
    position: relative;
    display: block;
    margin: 0;
    padding: 0; }
  .products .section-title {
    margin-bottom: 30px; }
  .products .section-subtitle {
    margin-bottom: 3.75rem;
    font-family: "proxima-nova";
    font-size: 1.125rem; }
  @media screen and (min-width: 48em) {
    .products .columns.product {
      margin-bottom: 40px; } }
  @media screen and (min-width: 64em) {
    .products .columns.product:nth-of-type(odd) {
      padding: 0 1.25rem; }
    .products .columns.product:nth-of-type(even) {
      padding: 0 1.25rem; } }
  .products .columns.product .product-image-wrapper {
    position: relative;
    min-height: 9.375rem;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-radius: 0.625rem;
    z-index: 2;
    overflow: hidden;
    transition: background-color 0.5s ease; }
    @media screen and (min-width: 48em) {
      .products .columns.product .product-image-wrapper {
        min-height: 12.8125rem; } }
    .products .columns.product .product-image-wrapper .product-image {
      transition: all 0.5s ease;
      z-index: 1;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-size: cover;
      background-position: 50% 50%;
      background-repeat: no-repeat; }
      .products .columns.product .product-image-wrapper .product-image:hover {
        -ms-transform: scale(1.1);
        transform: scale(1.1); }
  .products .columns.product hr {
    margin: 0;
    width: 100%;
    height: 0.0625rem;
    position: relative;
    display: block;
    background: #ED1C24;
    margin-top: 0.625rem; }
  .products .columns.product .title-arrow-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: baseline;
    align-items: baseline; }
    .products .columns.product .title-arrow-wrapper .product-title {
      transition: all 0.5s ease;
      color: #000;
      min-height: 4rem;
      margin-top: 0.625rem;
      -ms-transform: translateX(20px);
      transform: translateX(20px);
      font-size: 1.25rem;
      text-transform: uppercase; }
    .products .columns.product .title-arrow-wrapper .arrow {
      transition: all 0.5s ease;
      opacity: 0;
      height: 1rem;
      -ms-transform: translateX(-20px);
      transform: translateX(-20px); }
  .products .columns.product:hover .arrow {
    opacity: 1;
    -ms-transform: translateX(5px);
    transform: translateX(5px); }
  .products .columns.product:hover .product-title {
    color: #ED1C24;
    -ms-transform: translateX(0px);
    transform: translateX(0px); }
  .products .columns.product:hover .product-image-wrapper {
    background: #ED1C24; }
    .products .columns.product:hover .product-image-wrapper .product-image {
      opacity: 0.25;
      border-radius: 10px;
      -ms-transform: scale(1.3);
      transform: scale(1.3); }

section#more-products-info {
  z-index: 1;
  padding: 60px 0;
  background-size: cover;
  background-position: 50%; }
  @media screen and (min-width: 48em) {
    section#more-products-info {
      padding: 100px 0; } }
  section#more-products-info .more-products-info-row .hero-title {
    margin-top: 0;
    line-height: 38px;
    font-size: 2.5rem; }
  section#more-products-info .more-products-info-row .more-products-info-text {
    margin-top: 1.375rem;
    line-height: 1.5rem;
    color: #fefefe;
    font-family: "proxima-nova";
    font-size: 1.25rem; }
  section#more-products-info .more-products-info-row .email {
    margin-top: 2.1875rem;
    display: block;
    color: #fefefe;
    font-family: "proxima-nova";
    font-size: 1.5rem;
    font-weight: 600; }
    section#more-products-info .more-products-info-row .email:hover {
      opacity: 0.75; }

.single-product #featured {
  padding: 25px 0;
  margin-top: 0; }
  @media screen and (min-width: 48em) {
    .single-product #featured {
      margin-top: 60px 0;
      padding: 50px 0; } }
  .single-product #featured .section-title {
    line-height: 30px; }

.single-product footer.site-footer {
  padding-top: 25px; }
  @media screen and (min-width: 64em) {
    .single-product footer.site-footer {
      padding-top: 100px; } }

section#product-hero {
  z-index: 12;
  padding: 0 0 3.125rem;
  background-color: #E8E8E8;
  background-size: cover;
  background-position: 50% 100%; }
  @media screen and (min-width: 64em) {
    section#product-hero {
      padding: 9.375rem 0; } }
  section#product-hero .product-hero-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-height: 23rem; }
    @media screen and (min-width: 64em) {
      section#product-hero .product-hero-row {
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-align: end;
        align-items: flex-end;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
    section#product-hero .product-hero-row .product-info {
      min-height: 450px;
      -ms-flex-order: 20;
      order: 20;
      margin-top: 60px; }
      @media screen and (min-width: 48em) {
        section#product-hero .product-hero-row .product-info {
          margin-top: 100px;
          padding-top: 0; } }
      @media screen and (min-width: 64em) {
        section#product-hero .product-hero-row .product-info {
          min-height: 0;
          padding-top: 0;
          -ms-flex-order: 1;
          order: 1; } }
      section#product-hero .product-hero-row .product-info .product-hero-title {
        text-align: center;
        font-size: 3rem;
        font-weight: 600; }
      section#product-hero .product-hero-row .product-info .product-subtitle {
        color: #fefefe;
        text-align: center;
        line-height: 1.25rem;
        margin-bottom: 1.875rem;
        font-size: 1.125rem;
        font-family: "proxima-nova"; }
        @media screen and (min-width: 64em) {
          section#product-hero .product-hero-row .product-info .product-subtitle {
            padding: 0 1.875rem; } }
        section#product-hero .product-hero-row .product-info .product-subtitle * {
          color: #fefefe;
          text-align: center;
          line-height: 1.125rem;
          margin-bottom: 1.875rem;
          font-size: 1.125rem; }
      section#product-hero .product-hero-row .product-info .rent-buy-hero-row {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
        z-index: 12345678987654321; }
        section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta {
          -ms-flex-order: 1;
          order: 1;
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
          flex-direction: column;
          -ms-flex-pack: justify;
          justify-content: space-between;
          border-radius: 5px;
          text-align: center;
          padding: 0.15625rem; }
          section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper {
            border-radius: 5px; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .rent-buy-title {
              margin-top: 1.6875rem;
              color: #fefefe;
              line-height: 42px;
              font-size: 2.25rem;
              text-transform: uppercase; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .variations {
              display: none !important; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .price {
              display: -ms-flexbox;
              display: flex;
              -ms-flex-direction: row;
              flex-direction: row;
              -ms-flex-align: center;
              align-items: center;
              -ms-flex-pack: center;
              justify-content: center;
              line-height: 30px;
              margin: 0;
              color: #C5D43F;
              text-transform: uppercase;
              font-size: 2.5rem;
              font-family: "refrigerator-deluxe", sans-serif; }
              @media screen and (min-width: 48em) {
                section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .price {
                  margin-bottom: 0.9375rem; } }
              section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .price .rent-tag {
                max-height: 40px;
                margin-left: 5px; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .total-title {
              width: 50%;
              text-align: right;
              padding-right: 15px; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .button {
              background: transparent;
              color: #C5D43F;
              border-color: transparent;
              max-width: 100%;
              min-width: 0 !important;
              display: block;
              position: relative;
              width: 100%;
              min-height: 55px;
              text-align: center;
              border-radius: 35px;
              padding-left: 0;
              padding-right: 0;
              color: #000;
              background: #C5D43F;
              border-color: #C5D43F;
              margin-top: 30px;
              max-width: 250px;
              margin: 40px auto;
              display: block;
              font-family: "refrigerator-deluxe", sans-serif;
              font-weight: 600;
              text-transform: uppercase; }
              @media screen and (min-width: 48em) {
                section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .button {
                  max-width: 165px;
                  width: 100%;
                  margin: 35px auto 2.1875rem; } }
              @media screen and (min-width: 64em) {
                section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .button {
                  padding: 1rem 0;
                  max-width: 10.3125rem; } }
              section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .button:hover {
                background: transparent;
                color: #C5D43F;
                border: 2px solid #C5D43F; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .product-type-switch {
              color: #929086;
              transition: all 0.3s ease;
              text-transform: uppercase;
              font-family: "refrigerator-deluxe", sans-serif;
              font-size: 1.125rem; }
              section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .product-type-switch:hover {
                opacity: 0.5; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .purchase-form .step-circle-wrapper {
              display: none !important; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .purchase-form .quantity {
              display: none !important; }
            section#product-hero .product-hero-row .product-info .rent-buy-hero-row .rent-buy-cta .cta-wrapper .purchase-form .stock {
              display: none !important; }
    section#product-hero .product-hero-row .product-gallery {
      height: 100%;
      -ms-flex-order: 1;
      order: 1;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 0;
      min-height: 375px; }
      @media screen and (min-width: 48em) {
        section#product-hero .product-hero-row .product-gallery {
          -ms-flex-order: 2;
          order: 2; } }
      @media screen and (min-width: 64em) {
        section#product-hero .product-hero-row .product-gallery {
          min-height: 23rem; } }
      section#product-hero .product-hero-row .product-gallery .gallery-row {
        background: #fefefe;
        max-width: 100%;
        overflow: hidden;
        height: 100%;
        min-height: 393px;
        position: relative; }
        @media screen and (min-width: 48em) {
          section#product-hero .product-hero-row .product-gallery .gallery-row {
            min-height: 28.125rem; } }
        @media screen and (min-width: 64em) {
          section#product-hero .product-hero-row .product-gallery .gallery-row {
            min-height: 393px;
            border-radius: 10px; } }
        section#product-hero .product-hero-row .product-gallery .gallery-row .loading-overlay {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
          flex-direction: row;
          -ms-flex-align: center;
          align-items: center;
          -ms-flex-pack: center;
          justify-content: center;
          background: #fefefe;
          width: 100%;
          height: 100%;
          position: absolute;
          z-index: 123456; }
        section#product-hero .product-hero-row .product-gallery .gallery-row .product-gallery-slider {
          margin: 0;
          height: 100%; }
      section#product-hero .product-hero-row .product-gallery .slick-slider {
        margin: 0;
        padding: 0; }
      section#product-hero .product-hero-row .product-gallery .slide {
        width: 100%;
        height: 100%;
        min-height: 393px;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 50% 50%; }
        @media screen and (min-width: 48em) {
          section#product-hero .product-hero-row .product-gallery .slide {
            min-height: 450px; } }
        @media screen and (min-width: 64em) {
          section#product-hero .product-hero-row .product-gallery .slide {
            min-height: 393px; } }
      section#product-hero .product-hero-row .product-gallery .slick-dots {
        margin: 0;
        position: relative;
        margin-top: -4rem; }
        section#product-hero .product-hero-row .product-gallery .slick-dots li {
          width: 10px; }
          section#product-hero .product-hero-row .product-gallery .slick-dots li button:before {
            content: "";
            width: 0.625rem;
            height: 0.625rem;
            border-radius: 50%;
            border: 1px solid #000;
            background: transparent;
            opacity: 1; }
          section#product-hero .product-hero-row .product-gallery .slick-dots li.slick-active button:before {
            opacity: 1;
            content: '';
            background: #000; }

section#product-information {
  background-size: 100%;
  background-position: 0px 0px;
  background-color: #E8E8E8;
  background-repeat: no-repeat; }
  @media screen and (min-width: 0em) and (max-width: 41.5em) {
    section#product-information {
      background-image: none !important;
      padding-top: 65px; } }
  section#product-information::after {
    content: "";
    display: block;
    position: relative;
    height: 10rem;
    margin-top: -10rem;
    width: 100vw; }
  section#product-information .product-information-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (min-width: 64em) {
      section#product-information .product-information-row {
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
    section#product-information .product-information-row .product-specifications {
      margin-bottom: 1.25rem;
      padding: 0 1.25rem; }
      @media screen and (min-width: 48em) {
        section#product-information .product-information-row .product-specifications {
          padding: 0;
          margin-bottom: 0; } }
      section#product-information .product-information-row .product-specifications .specs-row {
        padding: 20px 0;
        background: #fefefe;
        border-radius: 8px; }
        section#product-information .product-information-row .product-specifications .specs-row .specs-title {
          color: #000;
          margin-top: 1.875rem;
          margin-bottom: 0.9375rem;
          font-size: 1.5rem;
          text-transform: uppercase;
          text-align: center; }
          @media screen and (min-width: 48em) {
            section#product-information .product-information-row .product-specifications .specs-row .specs-title {
              text-transform: uppercase;
              text-align: left; } }
        section#product-information .product-information-row .product-specifications .specs-row .specs-list {
          margin-top: 1.5rem; }
          section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
            flex-direction: column;
            -ms-flex-pack: justify;
            justify-content: space-between;
            -ms-flex-align: center;
            align-items: center;
            margin-bottom: 1rem;
            padding-bottom: 1rem;
            font-size: 1.125rem; }
            @media screen and (min-width: 48em) {
              section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper {
                border-bottom: 1px solid #000;
                -ms-flex-direction: row;
                flex-direction: row;
                -ms-flex-pack: justify;
                justify-content: space-between;
                -ms-flex-align: center;
                align-items: center; } }
            section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper:last-of-type {
              border-bottom: none; }
            section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper .spec-label {
              -ms-flex: 6;
              flex: 6;
              margin: 0;
              padding: 0;
              text-align: left;
              font-size: 1.125rem;
              font-family: "proxima-nova"; }
              @media screen and (min-width: 75em) {
                section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper .spec-label {
                  -ms-flex: 1.5;
                  flex: 1.5; } }
            section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper .spec * {
              margin: 0;
              padding: 0;
              -ms-flex: 1;
              flex: 1; }
            @media screen and (min-width: 64em) {
              section#product-information .product-information-row .product-specifications .specs-row .specs-list .spec-wrapper .spec {
                -ms-flex: 1;
                flex: 1; } }
    section#product-information .product-information-row .product-description {
      padding-top: 2.5rem; }
      @media screen and (min-width: 48em) {
        section#product-information .product-information-row .product-description {
          padding-top: 6.25rem; } }
      @media screen and (min-width: 64em) {
        section#product-information .product-information-row .product-description {
          padding-top: 0;
          padding-left: 40px; } }
      section#product-information .product-information-row .product-description iframe {
        max-width: 100%;
        max-height: 20rem; }
      section#product-information .product-information-row .product-description .product-description-title {
        color: #4A4A4A;
        text-transform: uppercase;
        text-align: center;
        font-size: 1.5rem; }
        @media screen and (min-width: 64em) {
          section#product-information .product-information-row .product-description .product-description-title {
            margin-bottom: 0;
            text-align: left;
            text-align: left; } }
      section#product-information .product-information-row .product-description .product-description {
        padding: 20px 0 0;
        color: #4A4A4A;
        text-align: center; }
        @media screen and (min-width: 48em) {
          section#product-information .product-information-row .product-description .product-description {
            text-align: left; } }
      section#product-information .product-information-row .product-description .review-title {
        color: #4A4A4A;
        margin-top: 3.1875rem;
        text-align: center;
        margin-bottom: 1.5625rem; }
        @media screen and (min-width: 64em) {
          section#product-information .product-information-row .product-description .review-title {
            text-align: left; } }
      section#product-information .product-information-row .product-description .product-reviews {
        text-align: left;
        font-style: italic; }
        section#product-information .product-information-row .product-description .product-reviews .slick-list {
          -ms-flex-direction: row;
          flex-direction: row;
          -ms-flex-pack: center;
          justify-content: center;
          -ms-flex-align: center;
          align-items: center; }
        section#product-information .product-information-row .product-description .product-reviews .comment-form {
          display: none; }
        section#product-information .product-information-row .product-description .product-reviews .commentlist * {
          color: #4A4A4A;
          outline: 0;
          font-style: normal; }
        section#product-information .product-information-row .product-description .product-reviews .commentlist .slick-track {
          display: block;
          margin: auto; }
        section#product-information .product-information-row .product-description .product-reviews .commentlist .comment-author {
          text-align: center;
          font-family: "proxima-nova";
          font-weight: 600; }
          @media screen and (min-width: 64em) {
            section#product-information .product-information-row .product-description .product-reviews .commentlist .comment-author {
              text-align: right; } }
        section#product-information .product-information-row .product-description .product-reviews .commentlist .review-text p:first-of-type::before {
          content: "\""; }
        section#product-information .product-information-row .product-description .product-reviews .commentlist .review-text p:first-of-type::after {
          content: "\""; }
        section#product-information .product-information-row .product-description .product-reviews .commentlist .review-text * {
          text-align: center;
          font-family: "proxima-nova"; }
          @media screen and (min-width: 48em) {
            section#product-information .product-information-row .product-description .product-reviews .commentlist .review-text * {
              text-align: left; } }
        section#product-information .product-information-row .product-description .product-reviews .submit-review {
          transition: all 0.3s ease;
          margin-top: 5rem !important;
          display: block;
          width: 100%;
          max-width: 8rem;
          padding-bottom: 0.25rem;
          border-bottom: 1px solid #929086;
          position: relative;
          text-align: center;
          margin: auto;
          color: #929086;
          font-family: "proxima-nova";
          font-size: 0.875rem;
          font-weight: 600;
          font-style: normal;
          text-transform: uppercase; }
          section#product-information .product-information-row .product-description .product-reviews .submit-review:hover {
            opacity: 0.5; }
        section#product-information .product-information-row .product-description .product-reviews .comment-respond {
          margin-bottom: 50px;
          position: relative; }
          section#product-information .product-information-row .product-description .product-reviews .comment-respond #reply-title {
            margin-top: 30px;
            color: #979797;
            line-height: 17px;
            padding-bottom: 10px;
            transition: all 0.3s ease;
            text-transform: uppercase;
            text-align: center;
            text-decoration: underline;
            font-family: "proxima-nova";
            font-size: 0.875rem; }
            section#product-information .product-information-row .product-description .product-reviews .comment-respond #reply-title:hover {
              cursor: pointer;
              opacity: 0.5; }
          section#product-information .product-information-row .product-description .product-reviews .comment-respond .comment-form-rating label {
            text-align: center;
            font-style: normal;
            font-weight: 600; }
          section#product-information .product-information-row .product-description .product-reviews .comment-respond .comment-form-rating .stars {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: row;
            flex-direction: row;
            -ms-flex-pack: center;
            justify-content: center;
            -ms-flex-align: center;
            align-items: center; }
            section#product-information .product-information-row .product-description .product-reviews .comment-respond .comment-form-rating .stars a {
              color: #000;
              font-style: normal; }
          section#product-information .product-information-row .product-description .product-reviews .comment-respond #submit {
            margin: auto;
            display: block;
            border-radius: 35px;
            background: #000;
            color: #fefefe;
            height: 45px;
            width: 150px;
            transition: all 0.3s ease;
            border: 1px solid #000;
            text-transform: uppercase;
            font-style: normal;
            font-size: 0.875rem; }
            section#product-information .product-information-row .product-description .product-reviews .comment-respond #submit:hover {
              background: #E8E8E8;
              color: #000;
              border: 1px solid #000; }
        section#product-information .product-information-row .product-description .product-reviews .review-rating {
          position: relative;
          width: 100%;
          height: 2rem;
          display: -ms-flexbox;
          display: flex;
          outline: 0;
          -ms-flex-pack: center;
          justify-content: center; }
          @media screen and (min-width: 64em) {
            section#product-information .product-information-row .product-description .product-reviews .review-rating {
              -ms-flex-pack: start;
              justify-content: flex-start; } }
        section#product-information .product-information-row .product-description .product-reviews .slick-dots {
          margin: 1rem 0 0;
          position: relative; }
          section#product-information .product-information-row .product-description .product-reviews .slick-dots li {
            width: 10px;
            margin-left: 10px !important; }
            section#product-information .product-information-row .product-description .product-reviews .slick-dots li button:before {
              content: "";
              width: 0.625rem;
              height: 0.625rem;
              border-radius: 50%;
              border: 1px solid #4A4A4A;
              background: transparent;
              opacity: 1; }
            section#product-information .product-information-row .product-description .product-reviews .slick-dots li.slick-active button:before {
              opacity: 1;
              content: '';
              background: #4A4A4A; }
        section#product-information .product-information-row .product-description .product-reviews .review-author {
          font-weight: 600; }

section.single-product-related {
  background-color: #E8E8E8; }

section#rental {
  position: fixed;
  top: 0;
  left: -37.5rem;
  z-index: 1000;
  overflow: scroll;
  max-width: 27.5rem;
  width: 100%;
  height: 100vh;
  background: #E8E8E8;
  padding: 0;
  transition: all 800ms cubic-bezier(0.66, 0, 0.075, 1);
  -webkit-overflow-scrolling: touch; }
  section#rental.active {
    left: 0; }
  section#rental .stock {
    display: none; }
  section#rental .quantity {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
    section#rental .quantity p {
      text-align: right;
      width: 40%;
      color: #000;
      font-size: 1.25rem;
      font-weight: 600;
      font-family: "proxima-nova"; }
    section#rental .quantity input {
      border: none;
      border-radius: 8px;
      box-shadow: none;
      margin-left: 0;
      margin-right: 0; }
  section#rental .stock-comment {
    color: #4A4A4A;
    line-height: 18px;
    font-family: "proxima-nova";
    font-size: 0.875rem; }
    section#rental .stock-comment a {
      color: #4A4A4A; }
      section#rental .stock-comment a:hover {
        opacity: 0.5; }
  section#rental .js-qty {
    margin: auto;
    display: block; }
  section#rental .rental-row {
    padding: 3.125rem 0; }
    section#rental .rental-row .rental-cols {
      margin: auto; }
      section#rental .rental-row .rental-cols .cart {
        margin-bottom: 1.875rem; }
      section#rental .rental-row .rental-cols .rental-title {
        margin-bottom: 1.875rem;
        color: #000;
        text-transform: uppercase;
        font-family: "refrigerator-deluxe", sans-serif;
        font-size: 2.25rem;
        font-weight: 600; }
      section#rental .rental-row .rental-cols .wceb_picker_wrap input[type="text"] {
        background: #fefefe;
        border-radius: 5px; }
        section#rental .rental-row .rental-cols .wceb_picker_wrap input[type="text"]::-webkit-input-placeholder {
          color: #000;
          font-family: "proxima-nova";
          font-weight: 600; }
        section#rental .rental-row .rental-cols .wceb_picker_wrap input[type="text"]::-moz-placeholder {
          color: #000;
          font-family: "proxima-nova";
          font-weight: 600; }
        section#rental .rental-row .rental-cols .wceb_picker_wrap input[type="text"]:-ms-input-placeholder {
          color: #000;
          font-family: "proxima-nova";
          font-weight: 600; }
        section#rental .rental-row .rental-cols .wceb_picker_wrap input[type="text"]::placeholder {
          color: #000;
          font-family: "proxima-nova";
          font-weight: 600; }
      section#rental .rental-row .rental-cols .wceb_picker_wrap .arrive-text {
        text-align: center;
        margin-bottom: -0.25rem;
        font-size: 1rem;
        font-color: #4A4A4A;
        font-family: "proxima-nova";
        font-weight: 600; }
      section#rental .rental-row .rental-cols .wceb_picker_wrap .arrive-subtext {
        text-align: center;
        font-size: 0.75rem;
        font-color: #4A4A4A;
        font-family: "proxima-nova";
        font-weight: 500; }
      section#rental .rental-row .rental-cols .disabled .step-circle {
        border: 1px solid #999999 !important; }
      section#rental .rental-row .rental-cols .picker__input--active::after {
        content: "Click the day you’d like your gear to arrive"; }
      section#rental .rental-row .rental-cols .picker {
        position: relative;
        height: 0 !important;
        transition: all 0.5s ease;
        overflow: hidden; }
        section#rental .rental-row .rental-cols .picker.picker--opened {
          height: auto !important; }
        section#rental .rental-row .rental-cols .picker .picker__holder {
          position: relative;
          background: transparent;
          display: block;
          -ms-transform: translateY(0);
          transform: translateY(0); }
          section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame {
            position: relative; }
            section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box {
              background: transparent;
              border: none;
              box-shadow: none; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__title {
                display: none; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__month,
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__year {
                color: #000;
                font-family: "proxima-nova";
                font-size: 1.5rem;
                font-style: normal;
                font-weight: 600; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--prev:hover {
                background: transparent;
                opacity: 0.5; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--prev:before {
                content: "\f104";
                font-family: "FontAwesome";
                font-size: 1.5rem;
                border: none !important; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--disabled:hover {
                background: transparent;
                opacity: 0.5; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--disabled:before {
                content: "\f104";
                font-family: "FontAwesome";
                font-size: 1.5rem;
                border: none !important; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next:hover {
                background: transparent;
                opacity: 0.5; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__header .picker__nav--next:before {
                content: "\f105";
                font-family: "FontAwesome";
                font-size: 1.5rem;
                border: none !important; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box * {
                background: transparent;
                border: none;
                color: #000; }
              section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__day {
                padding: 0.5rem;
                border: 1px solid transparent;
                color: #000;
                font-family: "proxima-nova";
                font-size: 0.875rem;
                font-weight: 600; }
                section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__day .stock-amount {
                  display: none;
                  padding: 0; }
                section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__day.picker__day--highlighted {
                  background: #C5D43F;
                  border-radius: 50%; }
                section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__day.picker__day--disabled {
                  color: #929086;
                  font-family: "proxima-nova";
                  font-size: 0.875rem;
                  font-weight: 600; }
                  section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__day.picker__day--disabled:hover {
                    border: 1px dashed #929086; }
                section#rental .rental-row .rental-cols .picker .picker__holder .picker__frame .picker__wrap .picker__box .picker__day:hover {
                  border: 1px solid #000; }
    section#rental .rental-row .booking_details {
      display: none !important; }
    section#rental .rental-row .booking_price {
      display: block;
      width: 40%;
      float: right;
      text-align: left;
      padding-left: 15px; }
      section#rental .rental-row .booking_price .price {
        width: 100%;
        display: block; }
        section#rental .rental-row .booking_price .price .amount {
          display: block;
          width: 100%;
          text-align: left;
          font-size: 1.5rem;
          font-weight: 600;
          font-family: "proxima-nova"; }
    section#rental .rental-row .total-title {
      display: block;
      width: 60%;
      text-align: right;
      font-size: 1.5rem;
      font-weight: 600;
      font-family: "proxima-nova"; }
    section#rental .rental-row .single_add_to_cart_button {
      width: 100%;
      max-width: 250px;
      height: 80px;
      text-transform: uppercase;
      background-color: #000;
      border-radius: 70px;
      display: block;
      margin: auto;
      position: relative;
      font-size: 1.5rem;
      font-family: "refrigerator-deluxe", sans-serif; }
    section#rental .rental-row .step-circle-wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: baseline;
      align-items: baseline; }
      section#rental .rental-row .step-circle-wrapper .step-circle {
        width: 2.6875rem;
        height: 2.6875rem;
        border-radius: 50%;
        border: 1px solid #000;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center; }
        section#rental .rental-row .step-circle-wrapper .step-circle span {
          font-family: "proxima-nova";
          font-size: 1.25rem;
          font-weight: 600; }
      section#rental .rental-row .step-circle-wrapper .step-text {
        margin-left: 0.625rem;
        font-family: "proxima-nova";
        font-size: 1.25rem;
        font-weight: 600; }
    section#rental .rental-row .step-subtitle {
      font-family: "proxima-nova";
      font-size: 1.125rem;
      font-weight: 600; }
    section#rental .rental-row .step2 {
      display: none; }
    section#rental .rental-row input {
      margin: auto;
      color: #000;
      text-align: center;
      margin-top: 1.25rem;
      margin-bottom: 1.875rem;
      max-width: 13.4375rem; }
    section#rental .rental-row .spacer {
      display: block;
      position: relative;
      clear: both;
      width: 100%;
      height: 1rem; }
    section#rental .rental-row .close-button-wrapper {
      max-height: 70px;
      overflow: hidden; }
      section#rental .rental-row .close-button-wrapper .rental-close-button {
        color: #000;
        border-color: #000;
        border: 1px solid #000;
        height: 62px;
        max-width: 200px;
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        line-height: 21;
        margin: auto;
        border-radius: 35px;
        font-size: 1.125rem; }
        section#rental .rental-row .close-button-wrapper .rental-close-button:focus, section#rental .rental-row .close-button-wrapper .rental-close-button:hover {
          border-color: #000;
          color: #fefefe;
          background-color: #000; }
        section#rental .rental-row .close-button-wrapper .rental-close-button:focus {
          color: #fefefe;
          background-color: #000; }

.booking_details,
.booking_price,
.total-title,
.woocommerce-variation-availability {
  display: none; }

.single-product-related {
  margin-top: 60px; }
  @media screen and (min-width: 48em) {
    .single-product-related {
      margin-top: 100px; } }
  @media screen and (min-width: 64em) {
    .single-product-related {
      margin-top: 0; } }

.woocommerce-error {
  background-color: #ED1C24 !important;
  padding: 0;
  margin: 0;
  color: white;
  text-align: center;
  z-index: 123456;
  font-family: "proxima-nova";
  font-weight: 700; }

.woocommerce-error,
.woocommerce-message {
  background: black;
  border-radius: 8px;
  color: white;
  z-index: 1234568987654321 !important;
  position: fixed;
  width: 100%;
  height: auto !important;
  min-height: 350px !important;
  max-width: 600px !important;
  display: -ms-flexbox !important;
  display: flex !important;
  padding: 0 !important;
  top: 50%;
  left: 0;
  margin-top: -175px !important;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  border: 0;
  font-family: "proxima-nova";
  font-size: 1.5rem;
  font-family: "proxima-nova";
  font-weight: 700;
  color: #fefefe; }
  @media screen and (min-width: 48em) {
    .woocommerce-error,
    .woocommerce-message {
      top: 50%;
      left: 50%;
      margin-left: -300px !important;
      margin-top: -175px !important; } }
  .woocommerce-error::before,
  .woocommerce-message::before {
    display: none; }
  .woocommerce-error::after,
  .woocommerce-message::after {
    content: "×";
    position: absolute;
    top: -0.5rem;
    right: 1rem;
    font-size: 2.5rem; }
  @media screen and (min-width: 48em) {
    .woocommerce-error,
    .woocommerce-message {
      height: 5rem; } }
  .woocommerce-error a,
  .woocommerce-message a {
    border-radius: 35px;
    color: #000;
    height: 60px;
    width: 200px;
    text-align: center;
    margin-top: 2rem !important;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1rem;
    background-color: #C5D43F; }
  .woocommerce-error.hide,
  .woocommerce-message.hide {
    display: none !important; }

section#contact {
  padding: 65px 0;
  padding-bottom: 0; }
  @media screen and (min-width: 64em) {
    section#contact {
      padding: 100px 0; } }
  section#contact .contact-row .gform_wrapper {
    margin: 0; }
    section#contact .contact-row .gform_wrapper .gform_description {
      line-height: 18px;
      color: #4A4A4A;
      font-size: 1.125rem;
      font-family: "proxima-nova"; }
  section#contact .contact-row h3,
  section#contact .contact-row h4 {
    margin: 0;
    color: #171717;
    line-height: 42px;
    text-transform: uppercase;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 2.125rem; }
  section#contact .contact-row .contact-form-wrapper input[type="text"],
  section#contact .contact-row .contact-form-wrapper textarea {
    border-radius: 0.3125rem;
    color: #000;
    border: none;
    padding-left: 1rem; }
    section#contact .contact-row .contact-form-wrapper input[type="text"]::-webkit-input-placeholder,
    section#contact .contact-row .contact-form-wrapper textarea::-webkit-input-placeholder {
      color: #4A4A4A; }
    section#contact .contact-row .contact-form-wrapper input[type="text"]::-moz-placeholder,
    section#contact .contact-row .contact-form-wrapper textarea::-moz-placeholder {
      color: #4A4A4A; }
    section#contact .contact-row .contact-form-wrapper input[type="text"]:-ms-input-placeholder,
    section#contact .contact-row .contact-form-wrapper textarea:-ms-input-placeholder {
      color: #4A4A4A; }
    section#contact .contact-row .contact-form-wrapper input[type="text"]::placeholder,
    section#contact .contact-row .contact-form-wrapper textarea::placeholder {
      color: #4A4A4A; }
  section#contact .contact-row .contact-form-wrapper input[type="text"] {
    height: 3.125rem; }
  section#contact .contact-row .contact-form-wrapper textarea {
    height: 15.625rem;
    padding-top: 12px; }
  section#contact .contact-row .contact-form-wrapper input[type="submit"] {
    min-width: 200px;
    text-transform: uppercase;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.125rem; }
  section#contact .contact-row .contact-form-wrapper form label {
    display: none; }
  section#contact .contact-row .contact-form-wrapper .button {
    background: transparent;
    color: #000;
    border-color: #4A4A4A; }
    section#contact .contact-row .contact-form-wrapper .button:hover {
      background: #fefefe;
      border-color: #fefefe; }
  section#contact .contact-row .sales-info .sales-info-title {
    text-align: center; }
    @media screen and (min-width: 48em) {
      section#contact .contact-row .sales-info .sales-info-title {
        text-align: left; } }
  section#contact .contact-row .sales-info .sales-info-subtitle {
    width: 100%;
    margin: 1.25rem 0;
    text-align: center;
    font-family: "proxima-nova";
    font-size: 1.25rem;
    font-weight: 600; }
    @media screen and (min-width: 48em) {
      section#contact .contact-row .sales-info .sales-info-subtitle {
        text-align: left; } }
  section#contact .contact-row .sales-info .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (min-width: 63.75em) {
      section#contact .contact-row .sales-info .row {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
  section#contact .contact-row .sales-info .contact-info-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1rem; }
    @media screen and (min-width: 48em) {
      section#contact .contact-row .sales-info .contact-info-wrapper {
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 1rem; } }
    section#contact .contact-row .sales-info .contact-info-wrapper svg {
      margin-bottom: 1rem; }
      @media screen and (min-width: 48em) {
        section#contact .contact-row .sales-info .contact-info-wrapper svg {
          margin-bottom: 0; } }
      @media screen and (min-width: 64em) {
        section#contact .contact-row .sales-info .contact-info-wrapper svg {
          height: 30px;
          width: 20px; } }
    section#contact .contact-row .sales-info .contact-info-wrapper a {
      color: #4A4A4A;
      margin-left: 0;
      transition: all 0.3s ease;
      line-height: 24px;
      margin-bottom: 8px;
      text-align: center;
      font-family: "proxima-nova";
      font-size: 1.5rem; }
      section#contact .contact-row .sales-info .contact-info-wrapper a:hover {
        opacity: 0.5; }
      @media screen and (min-width: 48em) {
        section#contact .contact-row .sales-info .contact-info-wrapper a {
          margin-left: 1rem;
          text-align: left;
          font-size: 1.125rem; } }
  section#contact .contact-row .sales-info .contact-disclaimer {
    line-height: 17px;
    color: #999999;
    text-align: center;
    font-size: 0.875rem; }
    @media screen and (min-width: 48em) {
      section#contact .contact-row .sales-info .contact-disclaimer {
        text-align: left; } }

section#cart table {
  background: transparent; }
  section#cart table * {
    background: transparent;
    border-color: transparent; }
  section#cart table th {
    color: #4A4A4A;
    text-transform: uppercase;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.25rem;
    font-weight: 500; }
  section#cart table tr {
    border-top: 1px solid #929086; }
    @media screen and (min-width: 64em) {
      section#cart table tr {
        border-top: 1px solid #4A4A4A; } }
    section#cart table tr:first-of-type {
      border: none;
      border-bottom: 1px solid #929086; }
      @media screen and (min-width: 64em) {
        section#cart table tr:first-of-type {
          border-bottom: 1px solid #4A4A4A; } }
  section#cart table td.product-thumbnail {
    display: none; }
  section#cart table .cart_item {
    padding: 2.5rem 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (min-width: 50em) {
      section#cart table .cart_item {
        display: table-row;
        width: 100%; } }
    section#cart table .cart_item .variation-nv-type {
      display: none !important; }
    @media screen and (min-width: 48em) {
      section#cart table .cart_item .product-name {
        text-align: center !important; } }
    @media screen and (min-width: 64em) {
      section#cart table .cart_item .product-name {
        text-align: left !important;
        height: 6rem; } }
    section#cart table .cart_item .product-name::before {
      content: "Product";
      display: block;
      float: none;
      text-align: center;
      width: 100%;
      margin-bottom: 8px;
      text-transform: uppercase;
      text-align: center;
      font-family: "refrigerator-deluxe", sans-serif;
      font-size: 1.25rem;
      font-weight: 400; }
      @media screen and (min-width: 64em) {
        section#cart table .cart_item .product-name::before {
          margin-bottom: 0.875rem;
          display: none !important; } }
    section#cart table .cart_item .product-name a {
      color: #4A4A4A;
      margin-bottom: 0;
      display: block;
      text-align: center;
      text-transform: uppercase;
      font-family: "proxima-nova";
      font-size: 1.125rem;
      font-weight: 500; }
      @media screen and (min-width: 64em) {
        section#cart table .cart_item .product-name a {
          margin-bottom: 0;
          display: inline-block; } }
    section#cart table .cart_item .product-name .variation {
      margin-bottom: 0; }
      @media screen and (min-width: 64em) {
        section#cart table .cart_item .product-name .variation {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: row;
          flex-direction: row;
          -ms-flex-pack: start;
          justify-content: flex-start;
          -ms-flex-align: baseline;
          align-items: baseline;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      section#cart table .cart_item .product-name .variation dd,
      section#cart table .cart_item .product-name .variation dt {
        margin-right: 0.5rem;
        display: inline-block;
        text-transform: uppercase;
        font-size: 0.875rem;
        font-family: "proxima-nova";
        font-weight: 600; }
      section#cart table .cart_item .product-name .variation dt.variation-End,
      section#cart table .cart_item .product-name .variation dt.variation-Start {
        line-height: 4px;
        color: #999999; }
      section#cart table .cart_item .product-name .variation dd p {
        margin: 0 !important; }
      @media screen and (min-width: 64em) {
        section#cart table .cart_item .product-name .variation dd {
          display: block; } }
    section#cart table .cart_item .product-quantity {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-direction: row;
      flex-direction: row;
      position: relative;
      margin-top: 2rem; }
      @media screen and (min-width: 48em) {
        section#cart table .cart_item .product-quantity {
          margin-top: 0rem; } }
      @media screen and (min-width: 64em) {
        section#cart table .cart_item .product-quantity {
          margin-top: 1rem; } }
      section#cart table .cart_item .product-quantity::before {
        content: "Quantity";
        display: block;
        position: relative;
        width: 100%;
        text-align: center;
        text-transform: uppercase;
        position: absolute;
        top: -1.5rem;
        left: 0;
        font-family: "refrigerator-deluxe", sans-serif;
        font-size: 1.25rem;
        font-weight: 400; }
        @media screen and (min-width: 48em) {
          section#cart table .cart_item .product-quantity::before {
            display: none; } }
      section#cart table .cart_item .product-quantity .counter {
        border: 1px solid #999999;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        text-align: center; }
        section#cart table .cart_item .product-quantity .counter i {
          color: #999999; }
      section#cart table .cart_item .product-quantity .quantity {
        max-width: 2.5rem;
        text-align: center; }
        section#cart table .cart_item .product-quantity .quantity input {
          box-shadow: none;
          text-align: center;
          max-width: 2.5rem;
          padding-left: 5px; }
          section#cart table .cart_item .product-quantity .quantity input::-webkit-inner-spin-button, section#cart table .cart_item .product-quantity .quantity input::-webkit-outer-spin-button {
            /* display: none; <- Crashes Chrome on hover */
            -webkit-appearance: none;
            margin: 0;
            /* <-- Apparently some margin are still there even though it's hidden */ }
    section#cart table .cart_item .product-subtotal {
      font-family: "proxima-nova";
      font-weight: 600;
      font-size: 1.125rem; }
      section#cart table .cart_item .product-subtotal::before {
        content: ""; }
  section#cart table tr.coupon-stuff {
    padding-top: 2.5rem; }
    section#cart table tr.coupon-stuff td.actions {
      padding: 0; }
      @media screen and (min-width: 64em) {
        section#cart table tr.coupon-stuff td.actions {
          padding-top: 2rem; } }
      section#cart table tr.coupon-stuff td.actions .coupon {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center; }
        @media screen and (min-width: 64em) {
          section#cart table tr.coupon-stuff td.actions .coupon {
            -ms-flex-direction: row;
            flex-direction: row;
            -ms-flex-align: center;
            align-items: center;
            width: 50%; } }
        section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"] {
          width: 100%;
          min-height: 50px;
          font-size: 0.875rem;
          font-family: "proxima-nova"; }
          @media screen and (min-width: 64em) {
            section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"] {
              width: 90%; } }
        section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"] {
          background: #fefefe;
          border-radius: 8px;
          box-shadow: none;
          text-align: center;
          font-family: "proxima-nova";
          font-size: 0.875rem; }
          section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"]::-webkit-input-placeholder {
            color: #4A4A4A;
            text-align: center; }
          section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"]::-moz-placeholder {
            color: #4A4A4A;
            text-align: center; }
          section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"]:-ms-input-placeholder {
            color: #4A4A4A;
            text-align: center; }
          section#cart table tr.coupon-stuff td.actions .coupon input[name="coupon_code"]::placeholder {
            color: #4A4A4A;
            text-align: center; }
      section#cart table tr.coupon-stuff td.actions .button {
        margin: 1.875rem auto auto;
        width: 100%;
        max-width: 250px;
        height: 60px;
        border-radius: 35px;
        border: 1px solid #000;
        color: #000;
        text-transform: uppercase;
        text-align: center;
        font-family: "refrigerator-deluxe", sans-serif;
        font-size: 1.125rem; }
        section#cart table tr.coupon-stuff td.actions .button:hover {
          background-color: #000;
          color: #fefefe;
          border: 1px solid #000; }
        @media screen and (min-width: 64em) {
          section#cart table tr.coupon-stuff td.actions .button {
            margin: 0;
            width: 140px;
            height: 40px;
            max-width: 115px;
            margin-left: 1rem;
            padding: 0;
            font-size: 1rem; } }
  section#cart table .shipping {
    display: none; }

section#cart .checkout-button {
  max-width: 250px;
  width: 100%;
  height: 70px;
  color: #fefefe;
  margin: auto;
  margin-top: 24px;
  line-height: 35px;
  background-color: #000;
  font-size: 1.125rem; }
  section#cart .checkout-button:hover {
    background-color: transparent;
    color: #000;
    border: 1px solid #000; }
  @media screen and (min-width: 64em) {
    section#cart .checkout-button {
      max-width: 200px;
      margin: 0;
      float: right; } }

.cart-empty {
  text-align: center;
  padding: 4.375rem 0 2.1875rem;
  font-size: 20px;
  font-family: 'proxima-nova';
  text-transform: uppercase;
  font-weight: 600; }

.return-to-shop {
  text-align: center;
  padding: 1rem 0;
  font-size: 20px;
  font-family: 'proxima-nova';
  text-transform: uppercase;
  font-weight: 600; }

.wc-backward {
  background-color: #C5D43F !important;
  color: #000;
  border: 1px solid transparent !important; }
  .wc-backward:hover {
    background-color: transparent !important;
    border: 1px solid #C5D43F !important;
    color: #000; }

.cart-discount {
  text-align: right; }
  .cart-discount a {
    color: #000; }
    .cart-discount a:hover {
      opacity: 0.5; }

.order-total {
  text-align: right; }
  .order-total td {
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 2.25rem;
    font-weight: 900; }

.checkout .woocommerce-error {
  height: auto !important;
  min-height: 350px;
  padding: 2rem 0rem !important; }
  .checkout .woocommerce-error li {
    font-size: 16px;
    -ms-flex-direction: column !important;
    flex-direction: column !important; }
    .checkout .woocommerce-error li strong {
      line-height: 15px !important; }

.woocommerce-checkout .woocommerce-info {
  position: relative;
  display: block;
  background-color: #4A4A4A;
  color: #fefefe;
  max-width: 100%;
  border: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 18px;
  font-weight: 600; }
  @media screen and (min-width: 0em) and (max-width: 41.5em) {
    .woocommerce-checkout .woocommerce-info {
      padding-left: 0 !important;
      padding-right: 0 !important; } }
  @media screen and (min-width: 48em) {
    .woocommerce-checkout .woocommerce-info {
      padding-left: 20px !important;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -ms-flex-align: center;
      align-items: center; } }
  .woocommerce-checkout .woocommerce-info::before {
    content: "";
    display: none; }
  .woocommerce-checkout .woocommerce-info a {
    display: block;
    color: #fefefe !important;
    border-bottom: 1px solid #fefefe;
    border-radius: 0 !important;
    height: auto !important;
    line-height: 30px !important;
    background-color: transparent !important;
    width: 15rem !important;
    font-family: "proxima-nova" !important;
    font-size: 18px !important; }
    @media screen and (min-width: 48em) {
      .woocommerce-checkout .woocommerce-info a {
        margin-left: 1rem; } }
    .woocommerce-checkout .woocommerce-info a:hover {
      background: transparent;
      border-top: none !important;
      border-left: none !important;
      border-right: none !important;
      border-color: #fefefe !important;
      border-bottom: 2px solid #fefefe; }

form.checkout_coupon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 48em) {
    form.checkout_coupon {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -ms-flex-align: center;
      align-items: center; } }
  form.checkout_coupon .form-row {
    width: auto !important; }
  form.checkout_coupon input,
  form.checkout_coupon textarea {
    width: 360px !important;
    border: none;
    border-radius: 5px;
    margin: 0;
    height: 50px;
    color: #171717; }
    form.checkout_coupon input::-webkit-input-placeholder,
    form.checkout_coupon textarea::-webkit-input-placeholder {
      color: #171717; }
    form.checkout_coupon input::-moz-placeholder,
    form.checkout_coupon textarea::-moz-placeholder {
      color: #171717; }
    form.checkout_coupon input:-ms-input-placeholder,
    form.checkout_coupon textarea:-ms-input-placeholder {
      color: #171717; }
    form.checkout_coupon input::placeholder,
    form.checkout_coupon textarea::placeholder {
      color: #171717; }
  form.checkout_coupon input.button {
    border: 1px solid #4A4A4A;
    color: #4A4A4A;
    height: 50px;
    width: 100%;
    max-width: 200px;
    border-radius: 35px;
    background: transparent;
    transition: all .3s ease;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.125rem; }
    @media screen and (min-width: 48em) {
      form.checkout_coupon input.button {
        margin-left: 2rem; } }
    form.checkout_coupon input.button:hover {
      background: #000 !important;
      color: #fefefe !important; }

section#checkout-rows .checkout-rows-row h3 {
  color: #000;
  line-height: 42px;
  margin-bottom: 20px;
  text-transform: uppercase;
  text-align: center;
  font-size: 2.25rem; }
  @media screen and (min-width: 48em) {
    section#checkout-rows .checkout-rows-row h3 {
      text-align: left; } }

section#checkout-rows .checkout-rows-row .billing-wrapper input,
section#checkout-rows .checkout-rows-row .billing-wrapper textarea,
section#checkout-rows .checkout-rows-row .billing-wrapper .select2-container a {
  border: none;
  border-radius: 5px;
  margin: 0;
  color: #171717; }
  section#checkout-rows .checkout-rows-row .billing-wrapper input::-webkit-input-placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper textarea::-webkit-input-placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper .select2-container a::-webkit-input-placeholder {
    color: #171717; }
  section#checkout-rows .checkout-rows-row .billing-wrapper input::-moz-placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper textarea::-moz-placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper .select2-container a::-moz-placeholder {
    color: #171717; }
  section#checkout-rows .checkout-rows-row .billing-wrapper input:-ms-input-placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper textarea:-ms-input-placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper .select2-container a:-ms-input-placeholder {
    color: #171717; }
  section#checkout-rows .checkout-rows-row .billing-wrapper input::placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper textarea::placeholder,
  section#checkout-rows .checkout-rows-row .billing-wrapper .select2-container a::placeholder {
    color: #171717; }

section#checkout-rows .checkout-rows-row .billing-wrapper .select2-choice {
  height: 40px; }

section#checkout-rows .checkout-rows-row .billing-wrapper .select2-container .select2-choice > .select2-chosen {
  margin-top: 6px; }

section#checkout-rows .checkout-rows-row .billing-wrapper label {
  display: none; }

section#checkout-rows .checkout-rows-row .billing-wrapper label[for="ship-to-different-address-checkbox"] {
  display: inline; }

@media screen and (min-width: 0em) and (max-width: 41.5em) {
  section#checkout-rows .checkout-rows-row .billing-wrapper .form-row {
    width: 100%; } }

table.woocommerce-checkout-review-order-table {
  border-radius: 8px;
  overflow: hidden;
  padding: 20px; }
  table.woocommerce-checkout-review-order-table tr, table.woocommerce-checkout-review-order-table td, table.woocommerce-checkout-review-order-table thead, table.woocommerce-checkout-review-order-table tbody {
    background: #fefefe;
    border: none;
    font-family: "refrigerator-deluxe", sans-serif;
    font-size: 1.125rem;
    text-transform: uppercase; }
  table.woocommerce-checkout-review-order-table .order-total * {
    background: #000;
    color: #fefefe;
    font-size: 1.25rem; }
  table.woocommerce-checkout-review-order-table .order-total td {
    font-family: "proxima-nova"; }
  table.woocommerce-checkout-review-order-table .cart_item {
    border-top: 1px solid #E8E8E8;
    border-bottom: 1px solid #E8E8E8; }
    table.woocommerce-checkout-review-order-table .cart_item .product-quantity {
      display: block;
      margin: 0;
      color: #999999;
      font-weight: 600;
      font-size: 0.875rem; }
      table.woocommerce-checkout-review-order-table .cart_item .product-quantity span {
        font-weight: 600; }
    table.woocommerce-checkout-review-order-table .cart_item .variation-nv-type {
      display: none; }
    table.woocommerce-checkout-review-order-table .cart_item .product-name {
      font-family: "proxima-nova";
      font-size: 1.125rem;
      text-transform: uppercase; }
      table.woocommerce-checkout-review-order-table .cart_item .product-name strong {
        font-weight: 500; }
    table.woocommerce-checkout-review-order-table .cart_item .product-total {
      font-weight: 600;
      font-size: 1.125rem;
      font-family: "proxima-nova"; }
    table.woocommerce-checkout-review-order-table .cart_item .variation {
      margin: 0; }
      table.woocommerce-checkout-review-order-table .cart_item .variation dt.variation-Start {
        display: none; }
      table.woocommerce-checkout-review-order-table .cart_item .variation dd.variation-Start p {
        margin: 0;
        color: #999999;
        font-weight: 600;
        font-size: 0.875rem; }
        table.woocommerce-checkout-review-order-table .cart_item .variation dd.variation-Start p::before {
          content: "Gear Arrives on: "; }
      table.woocommerce-checkout-review-order-table .cart_item .variation dt.variation-End {
        display: none; }
      table.woocommerce-checkout-review-order-table .cart_item .variation dd.variation-End p {
        margin: 0;
        color: #999999;
        font-weight: 600;
        font-size: 0.875rem; }
        table.woocommerce-checkout-review-order-table .cart_item .variation dd.variation-End p::before {
          content: "I'll return gear on: "; }
  table.woocommerce-checkout-review-order-table thead tr {
    background: #fefefe; }
    @media screen and (min-width: 64em) {
      table.woocommerce-checkout-review-order-table thead tr th.product-name {
        font-family: "refrigerator-deluxe", sans-serif;
        font-size: 1.25rem;
        text-transform: uppercase; } }
    table.woocommerce-checkout-review-order-table thead tr th.product-total {
      font-family: "refrigerator-deluxe", sans-serif;
      font-size: 1.25rem;
      text-transform: uppercase; }
  table.woocommerce-checkout-review-order-table #shipping_method {
    margin: 0;
    list-style: none; }

.checkbox a {
  color: #4A4A4A; }

#place_order {
  float: none !important;
  margin-top: 30px;
  color: #fefefe;
  background-color: #000;
  font-family: "refrigerator-deluxe", sans-serif;
  font-size: 1.125rem;
  text-transform: uppercase;
  height: 60px;
  width: 100%;
  max-width: 250px;
  margin: auto;
  display: block; }

@media screen and (min-width: 48em) {
  #payment .form-row.place-order {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vdmVuZG9yL3NsaWNrLmpzL3NsaWNrL3NsaWNrLnNjc3MiLCIuLi92ZW5kb3Ivc2xpY2suanMvc2xpY2svc2xpY2stdGhlbWUuc2NzcyIsImxheW91dHMvX3NpdGUuc2NzcyIsImxheW91dHMvX2hlYWRlci5zY3NzIiwibGF5b3V0cy9fZm9vdGVyLnNjc3MiLCJsYXlvdXRzL19ob21lLnNjc3MiLCJwYXJ0aWFscy9faGVyby5zY3NzIiwibGF5b3V0cy9fdHJhaW5pbmcuc2NzcyIsImxheW91dHMvX291dGZpdHRlcnMuc2NzcyIsImxheW91dHMvX2Fib3V0LnNjc3MiLCJsYXlvdXRzL19ibG9nLnNjc3MiLCJsYXlvdXRzL19wcm9kdWN0cy5zY3NzIiwibGF5b3V0cy9fc2luZ2xlLXByb2R1Y3Quc2NzcyIsImxheW91dHMvX2NvbnRhY3Quc2NzcyIsImxheW91dHMvX2NhcnQuc2NzcyIsImxheW91dHMvX2NoZWNrb3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLCtEQUErRDtBQUMvRCwwREFBMEQ7QUFDMUQsK0RBQStEO0FBRS9ELCtEQUErRDtBQ0ovRDs7Ozs7R0FLRztBQzZNRCw0RUFBNEU7QUFFNUU7Ozs7S0FJRztBQUVIO0VBQ0Usd0JBQXdCO0VBQUUsT0FBTztFQUNqQywyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLCtCQUErQjtFQUFFLE9BQU8sRUFDekM7O0FBRUQ7O0tBRUc7QUFFSDtFQUNFLFVBQVUsRUFDWDs7QUFFRDtrRkFDZ0Y7QUFFaEY7Ozs7O0tBS0c7QUFFSDs7Ozs7Ozs7Ozs7OztFQWFFLGVBQWUsRUFDaEI7O0FBRUQ7OztLQUdHO0FBRUg7Ozs7RUFJRSxzQkFBc0I7RUFBRSxPQUFPO0VBQy9CLHlCQUF5QjtFQUFFLE9BQU8sRUFDbkM7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxjQUFjO0VBQ2QsVUFBVSxFQUNYOztBQUVEOzs7S0FHRztBSDdNTDs7RUdpTkksY0FBYyxFQUNmOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsOEJBQThCLEVBQy9COztBQUVEOzs7S0FHRztBQUVIOztFQUVFLFdBQVcsRUFDWjs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDBCQUEwQixFQUMzQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGtCQUFrQixFQUNuQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQixFQUNsQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQVksRUFDYjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsZUFBZSxFQUNoQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGVBQWU7RUFDZixlQUFlO0VBQ2YsbUJB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OztBQUVEO0VPdEZKLG1CQUFtQjtFQUNuQixXQUhtQixFUDBGZDs7QUFNSDtFT3RFSix1QkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixpQkRlc0IsRUxnRWpCOztBQUlDO0VPbEZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBzRmQ7O0FBRUQ7RU90RkosbUJBQW1CO0VBQ25CLGlCQUhtQixFUDBGZDs7QUFNSDtFT3RFSixpQkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixpQkRlc0IsRUxnRWpCOztBQUlDO0VPbEZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBzRmQ7O0FBRUQ7RU90RkosbUJBQW1CO0VBQ25CLGlCQUhtQixFUDBGZDs7QUFNSDtFT3RFSix1QkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixXRGVzQixFTGdFakI7O0FBSUM7RU9sRkosbUJBQW1CO0VBQ25CLFVBSG1CLEVQc0ZkOztBQUVEO0VPdEZKLG1CQUFtQjtFQUNuQixXQUhtQixFUDBGZDs7QUFNSDtFT3RFSix1QkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixpQkRlc0IsRUxnRWpCOztBQUlDO0VPbEZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBzRmQ7O0FBRUQ7RU90RkosbUJBQW1CO0VBQ25CLGlCQUhtQixFUDBGZDs7QUFNSDtFT3RFSixpQkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixpQkRlc0IsRUxnRWpCOztBQUlDO0VPbEZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBzRmQ7O0FBRUQ7RU90RkosbUJBQW1CO0VBQ25CLGlCQUhtQixFUDBGZDs7QUFNSDtFT3RFSix1QkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixXRGVzQixFTGdFakI7O0FBSUM7RU9sRkosbUJBQW1CO0VBQ25CLFVBSG1CLEVQc0ZkOztBQUVEO0VPdEZKLG1CQUFtQjtFQUNuQixXQUhtQixFUDBGZDs7QUFNSDtFT3RFSix1QkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixpQkRlc0IsRUxnRWpCOztBQUlDO0VPbEZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBzRmQ7O0FBRUQ7RU90RkosbUJBQW1CO0VBQ25CLGlCQUhtQixFUDBGZDs7QUFNSDtFT3RFSixpQkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixpQkRlc0IsRUxnRWpCOztBQUlDO0VPbEZKLG1CQUFtQjtFQUNuQixnQkFIbUIsRVBzRmQ7O0FBRUQ7RU90RkosbUJBQW1CO0VBQ25CLGlCQUhtQixFUDBGZDs7QUFNSDtFT3RFSix1QkZWc0IsRUxrRmpCOztBQXBCRDtFTTdFSixZRGVzQixFTGdFakI7O0FBZ0JEO0VPdEVKLHVCRlZzQixFTGtGakI7O0FBS0Q7RVFuR0YsWUFBaUI7RUFDakIsWVhvRnVELEVXdkV4RDtFUnFGRztJUS9GQSxZQUFZLEVBQ2I7RVI4RkM7SVEzRkEsWUFBWSxFQUNiO0VSMEZDO0lRdkZBLFlBQVksRUFDYjs7QVJzRkM7RVFuR0YsV0FBaUI7RUFDakIsWVhvRnVELEVXdkV4RDtFUnFGRztJUS9GQSxZQUFZLEVBQ2I7RVI4RkM7SVEzRkEsWUFBWSxFQUNiO0VSMEZDO0lRdkZBLFlBQVksRUFDYjs7QVJzRkM7RVFuR0YsaUJBQWlCO0VBQ2pCLFlYb0Z1RCxFV3ZFeEQ7RVJxRkc7SVEvRkEsWUFBWSxFQUNiO0VSOEZDO0lRM0ZBLFlBQVksRUFDYjtFUjBGQztJUXZGQSxZQUFZLEVBQ2I7O0FSc0ZDO0VRbkdGLFdBQWlCO0VBQ2pCLFlYb0Z1RCxFV3ZFeEQ7RVJxRkc7SVEvRkEsWUFBWSxFQUNiO0VSOEZDO0lRM0ZBLFlBQVksRUFDYjtFUjBGQztJUXZGQSxZQUFZLEVBQ2I7O0FSc0ZDO0VRbkdGLFdBQWlCO0VBQ2pCLFlYb0Z1RCxFV3ZFeEQ7RVJxRkc7SVEvRkEsWUFBWSxFQUNiO0VSOEZDO0lRM0ZBLFlBQVksRUFDYjtFUjBGQztJUXZGQSxZQUFZLEVBQ2I7O0FSc0ZDO0VRbkdGLGlCQUFpQjtFQUNqQixZWG9GdUQsRVd2RXhEO0VScUZHO0lRL0ZBLFlBQVksRUFDYjtFUjhGQztJUTNGQSxZQUFZLEVBQ2I7RVIwRkM7SVF2RkEsWUFBWSxFQUNiOztBUnNGQztFUW5HRixpQkFBaUI7RUFDakIs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LEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixXRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsV0FIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLGlCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixZRGVzQixFTGdFakI7RUFnQkQ7SU90RUosdUJGVnNCLEVMa0ZqQjtFQUtEO0lRbkdGLFlBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsV0FBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixpQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixXQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLFdBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsaUJBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsaUJBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsYUFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixpQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixXQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGdCQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGdCQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSNEZEO0lHaEhGLGdCQUFnQjtJQUNoQixpQkFBaUIsRUhnSG1CO0VBRGxDO0lBSUksZUFBZTtJQUNmLGdCQUFnQixFQUNqQjtFQUdIO0lHaEhGLHVCQURpQjtJQUVqQix3QkFGaUIsRUgwSDhCO0VBSTdDO0lPN0hBLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsbUJBQW1CLEVQNkhsQjtFQUdEOzs7SU92SEYsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsWUFBWSxFUHNIVCxFQUFBOztBSWREO0VKOUNFO0lNN0VKLGdCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZUFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQMEZkO0VBTUg7SU90RUosZ0JGYnNCLEVMcUZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSixzQkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLFdEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixVQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixXQUhtQixFUDBGZDtFQU1IO0lPdEVKLHVCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosaUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLFdEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixVQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixXQUhtQixFUDBGZDtFQU1IO0lPdEVKLHVCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosaUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLFdEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixVQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixXQUhtQixFUDBGZDtFQU1IO0lPdEVKLHVCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosaUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLFlEZXNCLEVMZ0VqQjtFQWdCRDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBS0Q7SVFuR0YsWUFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixXQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGlCQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLFdBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsV0FBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixpQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixpQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixhQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGlCQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLFdBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsZ0JBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsZ0JBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVI0RkQ7SUdoSEYsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFSGdIbUI7RUFEbEM7SUFJSSxlQUFlO0lBQ2YsZ0JBQWdCLEVBQ2pCO0VBR0g7SUdoSEYscUJBRGlCO0lBRWpCLHNCQUZpQixFSDBIOEI7RUFJN0M7SU83SEEsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixtQkFBbUIsRVA2SGxCO0VBR0Q7OztJT3ZIRixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZLEVQc0hULEVBQUE7O0FJZEQ7RUo5Q0U7SU03RUosZ0JEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixlQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSixnQkZic0IsRUxxRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLHNCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosV0Rlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLFVBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLFdBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSixpQkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLHVCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosV0Rlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLFVBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLFdBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSixpQkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLHVCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosV0Rlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLFVBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLFdBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixpQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUHNGZDtFQUVEO0lPdEZKLG1CQUFtQjtJQUNuQixpQkFIbUIsRVAwRmQ7RUFNSDtJT3RFSixpQkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLHVCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosWURlc0IsRUxnRWpCO0VBZ0JEO0lPdEVKLHVCRlZzQixFTGtGakI7RUFLRDtJUW5HRixZQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLFdBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsaUJBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsV0FBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixXQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGlCQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGlCQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLGFBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsaUJBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsV0FBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixnQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixnQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUjRGRDtJR2hIRixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVIZ0htQjtFQURsQztJQUlJLGVBQWU7SUFDZixnQkFBZ0IsRUFDakI7RUFHSDtJR2hIRixzQkFEaUI7SUFFakIsdUJBRmlCLEVIMEg4QjtFQUk3QztJTzdIQSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLG1CQUFtQixFUDZIbEI7RUFHRDs7O0lPdkhGLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVksRVBzSFQsRUFBQTs7QUlkRDtFSjlDRTtJTTdFSixnQkRlc0IsRUxnRWpCO0VBSUM7SU9sRkosbUJBQW1CO0lBQ25CLGVBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGdCQUhtQixFUDBGZDtFQU1IO0lPdEVKLGdCRmJzQixFTHFGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosc0JGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixXRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsV0FIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLGlCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixXRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsV0FIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLGlCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixXRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsVUFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsV0FIbUIsRVAwRmQ7RUFNSDtJT3RFSix1QkZWc0IsRUxrRmpCO0VBcEJEO0lNN0VKLGlCRGVzQixFTGdFakI7RUFJQztJT2xGSixtQkFBbUI7SUFDbkIsZ0JBSG1CLEVQc0ZkO0VBRUQ7SU90RkosbUJBQW1CO0lBQ25CLGlCQUhtQixFUDBGZDtFQU1IO0lPdEVKLGlCRlZzQixFTGtGakI7RUFwQkQ7SU03RUosaUJEZXNCLEVMZ0VqQjtFQUlDO0lPbEZKLG1CQUFtQjtJQUNuQixnQkFIbUIsRVBzRmQ7RUFFRDtJT3RGSixtQkFBbUI7SUFDbkIsaUJBSG1CLEVQMEZkO0VBTUg7SU90RUosdUJGVnNCLEVMa0ZqQjtFQXBCRDtJTTdFSixZRGVzQixFTGdFakI7RUFnQkQ7SU90RUosdUJGVnNCLEVMa0ZqQjtFQUtEO0lRbkdGLFlBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsV0FBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixpQkFBaUI7SUFDakIsWVhvRnVELEVXdkV4RDtJUnFGRztNUS9GQSxZQUFZLEVBQ2I7SVI4RkM7TVEzRkEsWUFBWSxFQUNiO0lSMEZDO01RdkZBLFlBQVksRUFDYjtFUnNGQztJUW5HRixXQUFpQjtJQUNqQixZWG9GdUQsRVd2RXhEO0lScUZHO01RL0ZBLFlBQVksRUFDYjtJUjhGQztNUTNGQSxZQUFZLEVBQ2I7SVIwRkM7TVF2RkEsWUFBWSxFQUNiO0VSc0ZDO0lRbkdGLFdBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsaUJBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsaUJBQWlCO0lBQ2pCLFlYb0Z1RCxFV3ZFeEQ7SVJxRkc7TVEvRkEsWUFBWSxFQUNiO0lSOEZDO01RM0ZBLFlBQVksRUFDYjtJUjBGQztNUXZGQSxZQUFZLEVBQ2I7RVJzRkM7SVFuR0YsYUFB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WXVEakhKO2NBdUZ3QixpQkFBaUIsRUFReEIsRUFBQTtVQS9GakI7WUEyRndCLHdCQUF3QjtZQUN4QixzQjVEckRUO1k0RHNEUyxlNUR0RFQsRTREdURNO1FBOUZyQjtVQWtHb0IsWTVEN0RSLEU0RDhESztNQW5HakI7UUF3R29CLHdCQUF3QjtRQUN4QixlNURsRUwsRTREMkZFO1FBbElqQjtVQTZHd0Isd0JBQXdCLEVBQzNCO1FBOUdyQjtVQWlId0Isd0JBQXdCLEVBQzNCO1FBbEhyQjtVQXFId0Isb0I1RDlFVDtVNEQrRVMsWTVEakZaLEU0RGtGUztRQXZIckI7VUEwSHdCLG9CNURuRlQ7VTREb0ZTLFk1RHRGWixFNER1RlM7UUE1SHJCO1VBK0h3QiwwQjVEeEZUO1U0RHlGUyxZNUQzRlosRTRENEZTOztBQU9yQjtFQUNJLDBCQUN5QjtFQUV6QixvQjdEcEZrQjtFNkRxRmxCLGtCN0RyRmtCLEU2RG1JckI7RXZEMUVHO0l1RHVCSjtNQVNRLGdCN0R6RmMsRTZEbUlyQixFQUFBO0V2RDFFRztJdUR1Qko7TUFjUSxvQjdEOUZjO002RCtGZCx3QjdEL0ZjLEU2RG1JckIsRUFBQTtFQW5ERDtJQW1CUSxZQUFZO0lBQ1osaUI3RHBHYztJNkRxR2Qsa0I3RHJHYztJNkRzR2Qsb0I1RHJJTTtJNERzSU4sbUJBQW1CO0lBQ25CLGVBQWU7SUFDZiw0QjdEekdjLEU2RDBHakI7RUExQkw7SUE2QlEsb0I3RDdHYztJNkQ4R2QsdUI3RDlHYztJNkQrR2QsZ0I3RC9HYyxFNkRrSWpCO0lBbERMO01Bb0NZLFlBQVk7TUFDWixnQjdEckhVO002RHNIVixrQjdEdEhVO002RHVIVixvQjVEdEpFO000RHVKRixtQkFBbUI7TUFDbkIsZUFBZTtNQUNmLG9CQUFvQixFQUN2QjtJdkRsRUw7TXVEdUJKO1FBNkNZLG9CN0Q3SFU7UTZEOEhWLGtCN0Q5SFUsRTZEa0lqQixFQUFBOztBQ2xOTDtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFJaEIsMEI3RGtEZ0IsRTZENkJuQjtFeERvREc7SXdEeklKO01BSUksaUJBQWlCLEVB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RUFBQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLypcdFx0XHRcdFx0XHQgICAgIExpcXVpZCBUaGVtZSBDdXN0b20gU2FzcyAgICAgICAgICAgICAgICAgICAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKj09PT09PT09PT09PT09PT09PT0gRm91bmRhdGlvbiBDb3JlID09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjEuMlxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mcGhvbmU9NDEuNTYyNWVtJnRhYmxldD00OGVtJm1lZGl1bT02NGVtJmxhcmdlPTc1ZW0meGxhcmdlPTkwZW0meHhsYXJnZT0xMTIuNWVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG4gIC5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMjAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTQuMjg1NzElO1xuICBmbG9hdDogbGVmdDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTIuNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC05ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTkgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMS4xMTExMSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC05ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC05ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOW4rMSksIC5zbWFsbC11cC05ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC05ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0xMCA+IC5jb2x1bW4sIC5zbWFsbC11cC0xMCA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTEwID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xMCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEwID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMG4rMSksIC5zbWFsbC11cC0xMCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDEwbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEwID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMTAgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMTEgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiA5LjA5MDkxJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTExID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTExID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMW4rMSksIC5zbWFsbC11cC0xMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTExID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMTIgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTEyID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEyID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMm4rMSksIC5zbWFsbC11cC0xMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDEybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEyID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQxLjU2MjVlbSkge1xuICAucGhvbmUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5waG9uZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAucGhvbmUtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5waG9uZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5waG9uZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5waG9uZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnBob25lLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLnBob25lLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnBob25lLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnBob25lLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucGhvbmUtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAucGhvbmUtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnBob25lLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnBob25lLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAucGhvbmUtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAucGhvbmUtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnBob25lLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnBob25lLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAucGhvbmUtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAucGhvbmUtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnBob25lLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnBob25lLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucGhvbmUtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAucGhvbmUtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnBob25lLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnBob25lLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAucGhvbmUtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAucGhvbmUtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnBob25lLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnBob25lLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAucGhvbmUtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAucGhvbmUtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnBob25lLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnBob25lLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucGhvbmUtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAucGhvbmUtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnBob25lLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5waG9uZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5waG9uZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAucGhvbmUtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnBob25lLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5waG9uZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5waG9uZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAucGhvbmUtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5waG9uZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBob25lLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAucGhvbmUtdXAtMSA+IC5jb2x1bW4sIC5waG9uZS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBob25lLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnBob25lLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGhvbmUtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5waG9uZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGhvbmUtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnBob25lLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5waG9uZS11cC0yID4gLmNvbHVtbiwgLnBob25lLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5waG9uZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5waG9uZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnBob25lLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAucGhvbmUtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnBob25lLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5waG9uZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAucGhvbmUtdXAtMyA+IC5jb2x1bW4sIC5waG9uZS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAucGhvbmUtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAucGhvbmUtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5waG9uZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnBob25lLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5waG9uZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAucGhvbmUtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBob25lLXVwLTQgPiAuY29sdW1uLCAucGhvbmUtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBob25lLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnBob25lLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGhvbmUtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5waG9uZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGhvbmUtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnBob25lLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5waG9uZS11cC01ID4gLmNvbHVtbiwgLnBob25lLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5waG9uZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5waG9uZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnBob25lLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAucGhvbmUtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnBob25lLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5waG9uZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAucGhvbmUtdXAtNiA+IC5jb2x1bW4sIC5waG9uZS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAucGhvbmUtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAucGhvbmUtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5waG9uZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnBob25lLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5waG9uZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAucGhvbmUtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBob25lLXVwLTcgPiAuY29sdW1uLCAucGhvbmUtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBob25lLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnBob25lLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGhvbmUtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5waG9uZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGhvbmUtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnBob25lLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5waG9uZS11cC04ID4gLmNvbHVtbiwgLnBob25lLXVwLTggPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBob25lLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnBob25lLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGhvbmUtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5waG9uZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGhvbmUtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnBob25lLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5waG9uZS11cC05ID4gLmNvbHVtbiwgLnBob25lLXVwLTkgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDExLjExMTExJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5waG9uZS11cC05ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5waG9uZS11cC05ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnBob25lLXVwLTkgPiAuY29sdW1uOm50aC1vZi10eXBlKDluKzEpLCAucGhvbmUtdXAtOSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDluKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnBob25lLXVwLTkgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5waG9uZS11cC05ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAucGhvbmUtdXAtMTAgPiAuY29sdW1uLCAucGhvbmUtdXAtMTAgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5waG9uZS11cC0xMCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAucGhvbmUtdXAtMTAgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGhvbmUtdXAtMTAgPiAuY29sdW1uOm50aC1vZi10eXBlKDEwbisxKSwgLnBob25lLXVwLTEwID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnBob25lLXVwLTEwID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAucGhvbmUtdXAtMTAgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5waG9uZS11cC0xMSA+IC5jb2x1bW4sIC5waG9uZS11cC0xMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogOS4wOTA5MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAucGhvbmUtdXAtMTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnBob25lLXVwLTExID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnBob25lLXVwLTExID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMW4rMSksIC5waG9uZS11cC0xMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDExbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5waG9uZS11cC0xMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnBob25lLXVwLTExID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAucGhvbmUtdXAtMTIgPiAuY29sdW1uLCAucGhvbmUtdXAtMTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnBob25lLXVwLTEyID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5waG9uZS11cC0xMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5waG9uZS11cC0xMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMTJuKzEpLCAucGhvbmUtdXAtMTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucGhvbmUtdXAtMTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5waG9uZS11cC0xMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnBob25lLWNvbGxhcHNlID4gLmNvbHVtbiwgLnBob25lLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5waG9uZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnBob25lLXVuY29sbGFwc2UgPiAuY29sdW1uLCAucGhvbmUtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5waG9uZS1jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5waG9uZS11bmNlbnRlcmVkLFxuICAucGhvbmUtcHVzaC0wLFxuICAucGhvbmUtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAudGFibGV0LXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAudGFibGV0LW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAudGFibGV0LW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC50YWJsZXQtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAudGFibGV0LW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC50YWJsZXQtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAudGFibGV0LW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC50YWJsZXQtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAudGFibGV0LW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLnRhYmxldC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtdXAtMSA+IC5jb2x1bW4sIC50YWJsZXQtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAudGFibGV0LXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTIgPiAuY29sdW1uLCAudGFibGV0LXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAudGFibGV0LXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTMgPiAuY29sdW1uLCAudGFibGV0LXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAudGFibGV0LXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTQgPiAuY29sdW1uLCAudGFibGV0LXVwLTQgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAudGFibGV0LXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTUgPiAuY29sdW1uLCAudGFibGV0LXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAudGFibGV0LXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTYgPiAuY29sdW1uLCAudGFibGV0LXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAudGFibGV0LXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTcgPiAuY29sdW1uLCAudGFibGV0LXVwLTcgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC50YWJsZXQtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAudGFibGV0LXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAudGFibGV0LXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC50YWJsZXQtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnRhYmxldC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTggPiAuY29sdW1uLCAudGFibGV0LXVwLTggPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC50YWJsZXQtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtOSA+IC5jb2x1bW4sIC50YWJsZXQtdXAtOSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTEuMTExMTElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnRhYmxldC11cC05ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtOSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50YWJsZXQtdXAtOSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOW4rMSksIC50YWJsZXQtdXAtOSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDluKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRhYmxldC11cC05ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTkgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJsZXQtdXAtMTAgPiAuY29sdW1uLCAudGFibGV0LXVwLTEwID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAudGFibGV0LXVwLTEwID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtMTAgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTEwID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMG4rMSksIC50YWJsZXQtdXAtMTAgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxMG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAudGFibGV0LXVwLTEwID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTEwID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTExID4gLmNvbHVtbiwgLnRhYmxldC11cC0xMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogOS4wOTA5MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAudGFibGV0LXVwLTExID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtMTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTExID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMW4rMSksIC50YWJsZXQtdXAtMTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAudGFibGV0LXVwLTExID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTExID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LXVwLTEyID4gLmNvbHVtbiwgLnRhYmxldC11cC0xMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAudGFibGV0LXVwLTEyID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC50YWJsZXQtdXAtMTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAudGFibGV0LXVwLTEyID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMm4rMSksIC50YWJsZXQtdXAtMTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAudGFibGV0LXVwLTEyID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAudGFibGV0LXVwLTEyID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAudGFibGV0LWNvbGxhcHNlID4gLmNvbHVtbiwgLnRhYmxldC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAudGFibGV0LWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudGFibGV0LXVuY29sbGFwc2UgPiAuY29sdW1uLCAudGFibGV0LXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG4gIC50YWJsZXQtY2VudGVyZWQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAudGFibGV0LXVuY2VudGVyZWQsXG4gIC50YWJsZXQtcHVzaC0wLFxuICAudGFibGV0LXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTkgPiAuY29sdW1uLCAubWVkaXVtLXVwLTkgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDExLjExMTExJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5tZWRpdW0tdXAtOSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTkgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTkgPiAuY29sdW1uOm50aC1vZi10eXBlKDluKzEpLCAubWVkaXVtLXVwLTkgPiAuY29sdW1uczpudGgtb2YtdHlwZSg5bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC05ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTEwID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xMCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0xMCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEwID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xMCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMTBuKzEpLCAubWVkaXVtLXVwLTEwID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMTBuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xMCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xMCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0xMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDkuMDkwOTElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0xMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTExID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMTFuKzEpLCAubWVkaXVtLXVwLTExID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMTFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0xMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0xMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEyID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMTJuKzEpLCAubWVkaXVtLXVwLTEyID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMTJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5sYXJnZS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5sYXJnZS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTkgPiAuY29sdW1uLCAubGFyZ2UtdXAtOSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTEuMTExMTElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTkgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTkgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOW4rMSksIC5sYXJnZS11cC05ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTkgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0xMCA+IC5jb2x1bW4sIC5sYXJnZS11cC0xMCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTEwID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xMCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0xMCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMTBuKzEpLCAubGFyZ2UtdXAtMTAgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxMG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMTAgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xMCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTExID4gLmNvbHVtbiwgLmxhcmdlLXVwLTExID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA5LjA5MDkxJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0xMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDExbisxKSwgLmxhcmdlLXVwLTExID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMTFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTExID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0xMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0xMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtMTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEyID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEyID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxMm4rMSksIC5sYXJnZS11cC0xMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDEybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0xMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEyID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjQzVENDNGO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogI0M1RDQzRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjYjJjMTJiOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzRBNEE0QTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzRBNEE0QTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM0QTRBNEE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDEuNTYyNWVtKSB7XG4gIC5waG9uZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnBob25lLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5waG9uZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5waG9uZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC50YWJsZXQtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWJsZXQtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRhYmxldC10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50YWJsZXQtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzVENDNGO1xuICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBiZjJiO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzVENDNGO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2YjQyODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUQxQzI0O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDEwMTY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0M1RDQzRjtcbiAgICBjb2xvcjogI0M1RDQzRjsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjg3MDE5O1xuICAgICAgY29sb3I6ICM2ODcwMTk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDNUQ0M0Y7XG4gICAgICBjb2xvcjogI0M1RDQzRjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY4NzAxOTtcbiAgICAgICAgY29sb3I6ICM2ODcwMTk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VEMUMyNDtcbiAgICAgIGNvbG9yOiAjRUQxQzI0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdiMGEwZTtcbiAgICAgICAgY29sb3I6ICM3YjBhMGU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWM1ODQwO1xuICAgICAgY29sb3I6ICNlYzU4NDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg4MWYwZTtcbiAgICAgICAgY29sb3I6ICM4ODFmMGU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogMC4yZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRBNEE0QTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdsYWJlbCddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzMzMzsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNFOEU4RTg7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogcmdiJTI4NTEsIDUxLCA1MSUyOVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgODgsIDY0LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogNDEuNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQxLjU2MjVlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDEuNTYyNWVtKSB7XG4gIC5oaWRlLWZvci1waG9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDEuNWVtKSB7XG4gIC5zaG93LWZvci1waG9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDEuNTYyNWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1waG9uZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MS41ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXBob25lLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXRhYmxldC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLXRhYmxldC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRThFOEU4O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNDNUQ0M0Y7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFOEU4RTg7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oCTJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U4RThFODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6ICNDNUQ0M0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zZW07XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI0M1RDQzRjtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI0VEMUMyNDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBjb2xvcjogI2NhY2FjYTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjQzVENDNGOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDNUQ0M0Y7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E2YjQyODtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRDFDMjQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNDEwMTY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZlZmVmZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDQxLjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOWUyOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZGRkZTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNmUyOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjNEE0QTRBO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0M1RDQzRjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0M1RDQzRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudTpub3QoLnZlcnRpY2FsKSAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1kb3duLWFycm93IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI0M1RDQzRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuODI1cmVtO1xuICAgIHJpZ2h0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWxlZnQtYXJyb3cgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0M1RDQzRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtcmlnaHQtYXJyb3cgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0M1RDQzRjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1sZWZ0LWFycm93Lm9wZW5zLWlubmVyIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1yaWdodC1hcnJvdy5vcGVucy1pbm5lciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51Om5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSwgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAuZmxleC12aWRlby52aW1lbyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNDNUQ0M0Y7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNFRDFDMjQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDQxLjVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSA+IGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgPiBpIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51ID4gbGkgPiBhID4gc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSA+IGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgPiBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDEuNTYyNWVtKSB7XG4gICAgLm1lbnUucGhvbmUtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5waG9uZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZW51LnRhYmxldC1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LnRhYmxldC12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5hbGlnbi1yaWdodCA+IGxpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhID4gaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhID4gaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bzsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjpiZWZvcmUsIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cyBlYXNlOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRThFOEU4O1xuICB6LWluZGV4OiAtMTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICBsZWZ0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgcmlnaHQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tcmlnaHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDEuNTYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItcGhvbmUge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXBob25lIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItcGhvbmUge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItcGhvbmUgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItdGFibGV0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci10YWJsZXQgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci10YWJsZXQge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItdGFibGV0IH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRThFOEU4OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogI0M1RDQzRjtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfigKYnO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgY29udGVudDogJ8KrJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnwrsnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M1RDQzRjsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VEMUMyNDsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDNUQ0M0Y7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M1RDQzRjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IwYmYyYjsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDYuMjVyZW0gYXV0byAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogMTAwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsIC5yZXZlYWwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5zd2l0Y2gge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogI0M1RDQzRjsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSxcbiAgdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgdGFibGUgdGhlYWQgdHIsXG4gICAgdGFibGUgdGZvb3QgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB0YWJsZSB0aGVhZCB0aCxcbiAgICB0YWJsZSB0aGVhZCB0ZCxcbiAgICB0YWJsZSB0Zm9vdCB0aCxcbiAgICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlIHRib2R5IHRoLFxuICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXIgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFOEU4RTg7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNDNUQ0M0Y7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjMmQxMzQ7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI0M1RDQzRjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFOEU4RTg7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFOEU4RTg7XG4gIGJvcmRlci10b3A6IDA7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFOEU4RTg7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnRodW1ibmFpbDpob3ZlciwgLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgxOTcsIDIxMiwgNjMsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwLCAwIDE0cHggMCAjMDAwOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0QTRBNEE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjNEE0QTRBLCAwIDE0cHggMCAjNEE0QTRBOyB9XG5cbi5oYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjNEE0QTRBO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDgwJTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICBtYXgtd2lkdGg6IDEwcmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi50b3AtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50b3AtYmFyOjpiZWZvcmUsIC50b3AtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50b3AtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDEuNWVtKSB7XG4gIC5zdGFja2VkLWZvci1zbWFsbCAudG9wLWJhci10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YWNrZWQtZm9yLXNtYWxsIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3Itc21hbGwgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnN0YWNrZWQtZm9yLXBob25lIC50b3AtYmFyLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItcGhvbmUgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1waG9uZSAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc3RhY2tlZC1mb3ItdGFibGV0IC50b3AtYmFyLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItdGFibGV0IC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItdGFibGV0IC50b3AtYmFyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDQxLjVlbSkge1xuICAudG9wLWJhci10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50b3AtYmFyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udG9wLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PSBWZW5kb3IgPT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90XCIpO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpBcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi8qPT09PT09PT09PT09PT09PT0gU2l0ZSBMYXlvdXRzL01peGlucyA9PT09PT09PT09PT09PT09PT09PT0qL1xuc2VjdGlvbiN0aGFuay15b3Uge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uNDA0LWhlcm8ge1xuICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5ib2R5LFxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7IH1cblxuLnNsaWRlLW91dC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjM7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmEuYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAuNzVyZW07XG4gIG1pbi13aWR0aDogMTIuNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIGEuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTsgfVxuICBhLmJ1dHRvbi5yZWQge1xuICAgIGJhY2tncm91bmQ6ICNFRDFDMjQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICBhLmJ1dHRvbi5yZWQuZ2hvc3Qge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUQxQzI0OyB9XG4gICAgICBhLmJ1dHRvbi5yZWQuZ2hvc3Q6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRUQxQzI0OyB9XG4gIGEuYnV0dG9uLmNlbnRlcmVkIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMnJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMi41cmVtIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA2LjI1cmVtIDA7IH0gfVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBjb2xvcjogIzAwMDsgfVxuICAuc2VjdGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDAuNDM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRUQxQzI0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5zZWN0aW9uLXRpdGxlLmdvbGQge1xuICAgIGNvbG9yOiAjQzVENDNGO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4OyB9XG4gICAgLnNlY3Rpb24tdGl0bGUuZ29sZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogNC42ODc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjQzNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjQzVENDNGOyB9XG5cbi5zbGljay1kb3RzIHtcbiAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICB3aWR0aDogMTBweDsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4uY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2VudGVyZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNlbnRlcmVkLmZ1bGwtY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4jY2FydERyYXdlciB7XG4gIHotaW5kZXg6IDEyMzQ1ICFpbXBvcnRhbnQ7IH1cblxuLmRyYXdlci0tcmlnaHQge1xuICB6LWluZGV4OiAxMjM0NSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAuc3Rhci1yYXRpbmcgc3BhbjpiZWZvcmUge1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLnN0YXItcmF0aW5nOmJlZm9yZSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5zZWN0aW9uI2ZlYXR1cmVkIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDQxLjVlbSkge1xuICAgIHNlY3Rpb24jZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHNlY3Rpb24jZmVhdHVyZWQge1xuICAgICAgcGFkZGluZzogMTAwcHggMDsgfSB9XG4gIHNlY3Rpb24jZmVhdHVyZWQgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICBzZWN0aW9uI2ZlYXR1cmVkIC5mZWF0dXJlZC1wcm9kdWN0cy1yb3cgLmZlYXR1cmVkLXByb2R1Y3RzLWNvbHVtbnMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtcHJvZHVjdHMtY29sdW1ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWltYWdlLXdyYXBwZXIge1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1xuICAgIG1pbi1oZWlnaHQ6IDEzNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWltYWdlLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMi44MTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uI2ZlYXR1cmVkIC5mZWF0dXJlZC1wcm9kdWN0cy1yb3cgLmZlYXR1cmVkLXByb2R1Y3QgLmZlYXR1cmVkLXByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5LjA2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIuODEyNXJlbTsgfSB9XG4gICAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1wcm9kdWN0IC5mZWF0dXJlZC1wcm9kdWN0LWltYWdlLXdyYXBwZXIgLmZlYXR1cmVkLXByb2R1Y3QtaW1hZ2Uge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtcHJvZHVjdCAuZmVhdHVyZWQtcHJvZHVjdC1pbWFnZS13cmFwcGVyIC5mZWF0dXJlZC1wcm9kdWN0LWltYWdlOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtcHJvZHVjdCBociB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjRUQxQzI0O1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtcHJvZHVjdCAudGl0bGUtYXJyb3ctd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBzZWN0aW9uI2ZlYXR1cmVkIC5mZWF0dXJlZC1wcm9kdWN0cy1yb3cgLmZlYXR1cmVkLXByb2R1Y3QgLnRpdGxlLWFycm93LXdyYXBwZXIgLmZlYXR1cmVkLXByb2R1Y3QtdGl0bGUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1wcm9kdWN0IC50aXRsZS1hcnJvdy13cmFwcGVyIC5hcnJvdyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1wcm9kdWN0OmhvdmVyIC5hcnJvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfVxuICBzZWN0aW9uI2ZlYXR1cmVkIC5mZWF0dXJlZC1wcm9kdWN0cy1yb3cgLmZlYXR1cmVkLXByb2R1Y3Q6aG92ZXIgLmZlYXR1cmVkLXByb2R1Y3QtdGl0bGUge1xuICAgIGNvbG9yOiAjRUQxQzI0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtcHJvZHVjdDpob3ZlciAuZmVhdHVyZWQtcHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUQxQzI0OyB9XG4gICAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1wcm9kdWN0OmhvdmVyIC5mZWF0dXJlZC1wcm9kdWN0LWltYWdlLXdyYXBwZXIgLmZlYXR1cmVkLXByb2R1Y3QtaW1hZ2Uge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgc2VjdGlvbiNmZWF0dXJlZCAuZmVhdHVyZWQtcHJvZHVjdHMtcm93IC5mZWF0dXJlZC1jdGEtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICBzZWN0aW9uI2ZlYXR1cmVkIC5mZWF0dXJlZC1wcm9kdWN0cy1yb3cgLmZlYXR1cmVkLWN0YS13cmFwcGVyIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VEMUMyNDtcbiAgICAgIGJveC1zaGFkb3c6IC0xcHggN3B4IDE5cHggMCByZ2JhKDAsIDAsIDAsIDAuNDUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtY3RhLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4OyB9IH1cbiAgICAgIHNlY3Rpb24jZmVhdHVyZWQgLmZlYXR1cmVkLXByb2R1Y3RzLXJvdyAuZmVhdHVyZWQtY3RhLXdyYXBwZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFOEU4RTg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0VEMUMyNDtcbiAgICAgICAgY29sb3I6ICNFRDFDMjQ7IH1cblxuLndvb2NvbW1lcmNlLWVycm9yLCAud29vY29tbWVyY2UtbWVzc2FnZSwgLndvb2NvbW1lcmNlLWluZm8ge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEyMyAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1lcnJvciAqLCAud29vY29tbWVyY2UtbWVzc2FnZSAqLCAud29vY29tbWVyY2UtaW5mbyAqIHtcbiAgICBsaW5lLWhlaWdodDogNTBweCAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1lcnJvciBhLCAud29vY29tbWVyY2UtbWVzc2FnZSBhLCAud29vY29tbWVyY2UtaW5mbyBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjAwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDNUQ0M0YgIWltcG9ydGFudDsgfVxuICAgIC53b29jb21tZXJjZS1lcnJvciBhOmhvdmVyLCAud29vY29tbWVyY2UtbWVzc2FnZSBhOmhvdmVyLCAud29vY29tbWVyY2UtaW5mbyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzVENDNGICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI0M1RDQzRiAhaW1wb3J0YW50OyB9XG5cbnVsLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VEMUMyNCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMjM0NTY7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIHVsLndvb2NvbW1lcmNlLWVycm9yIGxpIHtcbiAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIHVsLndvb2NvbW1lcmNlLWVycm9yIGEge1xuICAgIG1hcmdpbi10b3A6IDI1cHggIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogMTE1cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtN3B4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTIzNDU2O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogNXJlbTsgfSB9XG5cbnNlY3Rpb24jZ3JpZC10ZXN0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTkwMDA5NDkzOTQwOTM0OTM0MDU5OTk5ICFpbXBvcnRhbnQ7IH1cbiAgc2VjdGlvbiNncmlkLXRlc3QgLmdyaWQtdGVzdC1yb3cge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHNlY3Rpb24jZ3JpZC10ZXN0IC5ncmlkLXRlc3Qtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIHNlY3Rpb24jZ3JpZC10ZXN0IC5ncmlkLXRlc3Qtcm93IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNncmlkLXRlc3QgLmdyaWQtdGVzdC1yb3cgLmNvbHVtbnMge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTIuNSU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICBzZWN0aW9uI2dyaWQtdGVzdCAuZ3JpZC10ZXN0LXJvdyAuY29sdW1ucyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4LjMzMyUgIWltcG9ydGFudDsgfSB9XG4gICAgICBzZWN0aW9uI2dyaWQtdGVzdCAuZ3JpZC10ZXN0LXJvdyAuY29sdW1ucyAuY29sdW1uLCBzZWN0aW9uI2dyaWQtdGVzdCAuZ3JpZC10ZXN0LXJvdyAuY29sdW1ucyAuY29sdW1ucyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCAwLCAwLjI1KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG4qIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50OyB9XG5cbi5nbG9iYWwtYmctaW1nIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiA0MS41ZW0pIHtcbiAgICAuZ2xvYmFsLWJnLWltZyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxleC12aWRlbyB7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50b3AtYmFyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRvcC1iYXIgLm1lbnUtbG9nbyB7XG4gICAgICBoZWlnaHQ6IDQuMDYyNXJlbTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51LWxvZ28gbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIC50b3AtYmFyIC5tZW51LWl0ZW1zID4gbGkgPiBhIHtcbiAgICAgIGhlaWdodDogNC4wNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIC50b3AtYmFyIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1yaWdodC1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGl0bGUtYmFyIC5tZW51IHtcbiAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC50aXRsZS1iYXIgLm1lbnUgbGkubWVudS10b2dnbGUtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDA7IH1cbiAgICAudGl0bGUtYmFyIC5tZW51IGxpIGEge1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07IH1cbiAgICAudGl0bGUtYmFyIC5tZW51IGxpIGltZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXgtaGVpZ2h0OiAyLjgxMjVyZW07IH1cblxubmF2LnRvcC1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMi41cmVtOyB9XG4gIG5hdi50b3AtbmF2IC5oZWFkZXItbG9nbyBzdmcge1xuICAgIG1heC13aWR0aDogOTVweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIG5hdi50b3AtbmF2IC5uYXYtcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIG5hdi50b3AtbmF2IHVsIGxpIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG4gICAgbmF2LnRvcC1uYXYgdWwgbGkgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cblxubmF2LmRyb3AtbmF2IHtcbiAgYmFja2dyb3VuZDogIzE3MTcxNztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwcmVtO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgbWF4LWhlaWdodDogNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBuYXYuZHJvcC1uYXYgYSBzdmcge1xuICAgIG1hcmdpbi10b3A6IDdyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC03cmVtOyB9XG4gIG5hdi5kcm9wLW5hdiAubmF2LXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBuYXYuZHJvcC1uYXYuc2Nyb2xsaW5nIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDsgfVxuICBuYXYuZHJvcC1uYXYgLnNlY29uZGFyeS1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBuYXYuZHJvcC1uYXYgLnNlY29uZGFyeS1sb2dvIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG4gIG5hdi5kcm9wLW5hdiB1bCBsaSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuICAgIG5hdi5kcm9wLW5hdiB1bCBsaSBhOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uaGVhZGVyLWNhcnQge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLWNhcnQgc3ZnIHtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLm1vYmlsZS1tZW51LWljb24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxcmVtO1xuICBsZWZ0OiAxcmVtO1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICB6LWluZGV4OiAxMjM0NTY7IH1cbiAgLm1vYmlsZS1tZW51LWljb24td3JhcHBlciAubW9iaWxlLW1lbnUtaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IC0xcHggN3B4IDE5cHggMCByZ2JhKDEsIDAsIDAsIDAuMzUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogI0M1RDQzRjtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLm1vYmlsZS1tZW51LWljb24td3JhcHBlciAubW9iaWxlLW1lbnUtaWNvbiAubWVudS1pY29uLXRleHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIC5tb2JpbGUtbWVudS1pY29uLXdyYXBwZXIgLm1vYmlsZS1tZW51LWljb24uZnJvbnQge1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLm1vYmlsZS1tZW51LWljb24td3JhcHBlciAubW9iaWxlLW1lbnUtaWNvbi5iYWNrIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VEMUMyNDsgfVxuICAgICAgLm1vYmlsZS1tZW51LWljb24td3JhcHBlciAubW9iaWxlLW1lbnUtaWNvbi5iYWNrIGEge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubW9iaWxlLW1lbnUtaWNvbi13cmFwcGVyLmFjdGl2ZSAuZnJvbnQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLm1vYmlsZS1tZW51LWljb24td3JhcHBlci5hY3RpdmUgLmJhY2sge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxubmF2I21vYmlsZS1tZW51IHtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyMzQ1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgdG9wOiAxMTB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgbmF2I21vYmlsZS1tZW51IC5tb2JpbGUtbWVudS10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIG5hdiNtb2JpbGUtbWVudSB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgbmF2I21vYmlsZS1tZW51IHVsIGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgbmF2I21vYmlsZS1tZW51IHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogI0U4RThFODtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7IH1cbiAgICBuYXYjbW9iaWxlLW1lbnUgdWwuc2hvcHBpbmctY2FydC1tb2JpbGUgYSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjQzVENDNGOyB9XG4gICAgbmF2I21vYmlsZS1tZW51IHVsLnNob3BwaW5nLWNhcnQtbW9iaWxlIGEuZW1wdHkgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG4gICAgbmF2I21vYmlsZS1tZW51IHVsLnN1Yi1tb2JpbGUgbGkgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIG5hdiNtb2JpbGUtbWVudS5hY3RpdmUge1xuICAgIHRvcDogMDsgfVxuXG5mb290ZXIuc2l0ZS1mb290ZXIge1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAzLjc1cmVtIDAgMy4xMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA3NSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGZvb3Rlci5zaXRlLWZvb3RlciB7XG4gICAgICBwYWRkaW5nOiA2LjI1cmVtIDAgMy4xMjVyZW07IH0gfVxuICBmb290ZXIuc2l0ZS1mb290ZXIgLm92ZXJsYXktZm9yLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogI0U4RThFODtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLm92ZXJsYXktZm9yLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBmb290ZXIuc2l0ZS1mb290ZXIgLnNvY2lhbC1yb3cge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5zb2NpYWwtcm93IC5zb2NpYWwtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBmb290ZXIuc2l0ZS1mb290ZXIgLnNvY2lhbC1yb3cgLnNvY2lhbC1tZWRpYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5zb2NpYWwtcm93IC5zb2NpYWwtbWVkaWEgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICMwMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5zb2NpYWwtcm93IC5zb2NpYWwtbWVkaWEgYSBpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5zb2NpYWwtcm93IC5zb2NpYWwtbWVkaWEgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDsgfVxuICAgICAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuc29jaWFsLXJvdyAuc29jaWFsLW1lZGlhIGE6aG92ZXIgaSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuc29jaWFsLXJvdyAuZW1haWwtd3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5zb2NpYWwtcm93IC5lbWFpbC13cmFwcGVyIC5lbWFpbCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5zb2NpYWwtcm93IC5lbWFpbC13cmFwcGVyIC5lbWFpbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLnNvY2lhbC1yb3cgLmVtYWlsLXdyYXBwZXIgLmVtYWlsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gICAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuc29jaWFsLXJvdyAuZW1haWwtd3JhcHBlciAuZW1haWw6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICBmb290ZXIuc2l0ZS1mb290ZXIgLnNpdGVtYXAtcm93IHtcbiAgICB6LWluZGV4OiAxMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuc2l0ZW1hcC1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICBmb290ZXIuc2l0ZS1mb290ZXIgLnNpdGVtYXAtcm93IC5mb290ZXItbG9nbyBzdmcge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBmb290ZXIuc2l0ZS1mb290ZXIgLnNpdGVtYXAtcm93IC5mb290ZXItbWVudSB1bCB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLnNpdGVtYXAtcm93IC5mb290ZXItbWVudSB1bCBsaSB7XG4gICAgICAgIGhlaWdodDogMS41NjI1cmVtOyB9XG4gICAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuc2l0ZW1hcC1yb3cgLmZvb3Rlci1tZW51IHVsIGxpIGEge1xuICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgICAgICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLnNpdGVtYXAtcm93IC5mb290ZXItbWVudSB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICBmb290ZXIuc2l0ZS1mb290ZXIgLmdlbmVyYWwtaW5mby1yb3cge1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgIGZvb3Rlci5zaXRlLWZvb3RlciAuZ2VuZXJhbC1pbmZvLXJvdyAubWFkZS1pbi10aGUtdXNhIHtcbiAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5nZW5lcmFsLWluZm8tcm93IC5jb3B5cmlnaHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5nZW5lcmFsLWluZm8tcm93IC5jb3B5cmlnaHQgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLmdlbmVyYWwtaW5mby1yb3cgLmNvcHlyaWdodCBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLmdlbmVyYWwtaW5mby1yb3cgLmNvcHlyaWdodCBhIHtcbiAgICAgICAgY29sb3I6ICM0QTRBNEE7IH1cbiAgICBmb290ZXIuc2l0ZS1mb290ZXIgLmdlbmVyYWwtaW5mby1yb3cgLmZvb3Rlci10aXRsZSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41NjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIGZvb3Rlci5zaXRlLWZvb3RlciAubmV3c2xldHRlciB7XG4gICAgbWFyZ2luLXRvcDogMi44MTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5uZXdzbGV0dGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5uZXdzbGV0dGVyIC5uZXdzbGV0dGVyLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5uZXdzbGV0dGVyIC5uZXdzbGV0dGVyLXRpdGxlIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIGZvb3Rlci5zaXRlLWZvb3RlciAubmV3c2xldHRlciAubmV3c2xldHRlci1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogIzkyOTA4NjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgcGFkZGluZzogMCAyLjE4NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAubmV3c2xldHRlciAubmV3c2xldHRlci1zdWJ0aXRsZSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBmb290ZXIuc2l0ZS1mb290ZXIgLm5ld3NsZXR0ZXIgZm9ybSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGZvb3Rlci5zaXRlLWZvb3RlciAubmV3c2xldHRlciBmb3JtIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLm5ld3NsZXR0ZXIgZm9ybSBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgZm9vdGVyLnNpdGUtZm9vdGVyIC5uZXdzbGV0dGVyIGZvcm0gaW5wdXQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgICBmb290ZXIuc2l0ZS1mb290ZXIgLm5ld3NsZXR0ZXIgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCAxNnB4IDAgMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMTBweCAxMHB4IDBweDtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNEE0QTRBO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmOyB9XG5cbnNlY3Rpb24jbGVnYWN5IHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDk3NnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHNlY3Rpb24jbGVnYWN5IHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbiNsZWdhY3kge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH0gfVxuICBzZWN0aW9uI2xlZ2FjeSAucmV2ZWFsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgc2VjdGlvbiNsZWdhY3kgLnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIHNlY3Rpb24jbGVnYWN5IC5yZXZlYWwgLmZsZXgtdmlkZW8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBzZWN0aW9uI2xlZ2FjeSAubGVnYWN5LXJvdyAubGVnYWN5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5sZWdhY3ktdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfSB9XG4gIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5sZWdhY3ktc3VidGl0bGUge1xuICAgIGNvbG9yOiAjRThFOEU4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5sZWdhY3ktc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5sZWdhY3ktdmlkZW8tY3RhIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogODBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICBzZWN0aW9uI2xlZ2FjeSAubGVnYWN5LXJvdyAubGVnYWN5LXZpZGVvLWN0YSBhIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuICAgICAgc2VjdGlvbiNsZWdhY3kgLmxlZ2FjeS1yb3cgLmxlZ2FjeS12aWRlby1jdGEgYSBzdmcgLnBsYXktZmlsbCB7XG4gICAgICAgIGZpbGw6ICNDNUQ0M0Y7IH1cbiAgICAgIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5sZWdhY3ktdmlkZW8tY3RhIGEgc3ZnLnBsYXkge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICBzZWN0aW9uI2xlZ2FjeSAubGVnYWN5LXJvdyAubGVnYWN5LXZpZGVvLWN0YSBhIHN2Zy5ob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBzZWN0aW9uI2xlZ2FjeSAubGVnYWN5LXJvdyAubGVnYWN5LXZpZGVvLWN0YSBhOmhvdmVyIHN2Zy5wbGF5IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBzZWN0aW9uI2xlZ2FjeSAubGVnYWN5LXJvdyAubGVnYWN5LXZpZGVvLWN0YSBhOmhvdmVyIHN2Zy5ob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5tb2JpbGUtbGVnYWN5LXZpZGVvLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMi4xODc1cmVtOyB9XG4gICAgc2VjdGlvbiNsZWdhY3kgLmxlZ2FjeS1yb3cgLm1vYmlsZS1sZWdhY3ktdmlkZW8tY3RhIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIHNlY3Rpb24jbGVnYWN5IC5sZWdhY3ktcm93IC5tb2JpbGUtbGVnYWN5LXZpZGVvLWN0YSBhIHNwYW4ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgc2VjdGlvbiNsZWdhY3kgLmxlZ2FjeS1yb3cgLm1vYmlsZS1sZWdhY3ktdmlkZW8tY3RhIGEgc3ZnIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAxLjYyNXJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMS42MjVyZW07IH1cblxuc2VjdGlvbiN0ZXN0aW1vbmlhbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuICBzZWN0aW9uI3Rlc3RpbW9uaWFscyAudGVzdGltb25pYWxzLXJvdyB7XG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uI3Rlc3RpbW9uaWFscyAudGVzdGltb25pYWxzLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHJlbTsgfSB9XG4gICAgc2VjdGlvbiN0ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFsIHtcbiAgICAgIHBhZGRpbmc6IDAgMC4zMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIHNlY3Rpb24jdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbCB7XG4gICAgICAgICAgcGFkZGluZzogMCAyLjVyZW07IH0gfVxuICAgICAgc2VjdGlvbiN0ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFsIC50ZXN0aW1vbmlhbC1pbWcge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiA2Ljg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDYuODc1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgc2VjdGlvbiN0ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFscy1yb3cgLnRlc3RpbW9uaWFsIC50ZXN0aW1vbmlhbC1ib2R5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgICAgICBzZWN0aW9uI3Rlc3RpbW9uaWFscyAudGVzdGltb25pYWxzLXJvdyAudGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLWJvZHkgKiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7IH1cbiAgICAgIHNlY3Rpb24jdGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbHMtcm93IC50ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtYXV0aG9yIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ob21lIHNlY3Rpb24jaGVybyB7XG4gIG1pbi1oZWlnaHQ6IDM2LjA2MjVyZW07IH1cbiAgLmhvbWUgc2VjdGlvbiNoZXJvIC5oZXJvLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaG9tZSBzZWN0aW9uI2hlcm8gLmhlcm8tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG5zZWN0aW9uI2hlcm8ge1xuICBwYWRkaW5nOiA2MHB4IDAgNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24jaGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIHNlY3Rpb24jaGVybyAuaGVyby1yb3cge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAubW9iaWxlLWxvZ28gc3ZnIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OyB9XG4gICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1zdWJ0aXRsZSAqIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgICAgIHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tc3VidGl0bGUuZmVhdHVyZWQtdGl0bGUge1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICBzZWN0aW9uI2hlcm8gLmhlcm8tcm93IC5oZXJvLWN0YXMge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzIGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uI2hlcm8gLmhlcm8tcm93IC5oZXJvLWN0YXMgYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzIGEge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsgfSB9XG4gICAgICAgIHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tY3RhcyBhOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tY3RhcyBhOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgICAgICBzZWN0aW9uI2hlcm8gLmhlcm8tcm93IC5oZXJvLWN0YXMgYTpmaXJzdC1vZi10eXBlOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICBzZWN0aW9uI2hlcm8gLmhlcm8tcm93IC5oZXJvLWN0YXMuaGVyby1maWx0ZXJzIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzLmhlcm8tZmlsdGVycyBhOmFjdGl2ZSwgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzLmhlcm8tZmlsdGVycyBhOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICBzZWN0aW9uI2hlcm8gLmhlcm8tcm93IC5oZXJvLWN0YXMuaGVyby1maWx0ZXJzIGE6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby1jdGFzLmhlcm8tZmlsdGVycyBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tY3Rhcy5oZXJvLWZpbHRlcnMgYS5taXhpdHVwLWNvbnRyb2wtYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tY3Rhcy5oZXJvLWZpbHRlcnMgYS5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmhlcm8tdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tdG9wOiAyLjc1cmVtO1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhlcm8tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZXJvLXRpdGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfSB9XG4gIC5oZXJvLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDQuNjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuNDM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjQzVENDNGO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwLjMxMjVyZW07IH1cbiAgLmhlcm8tdGl0bGUuYmxvZy1mZWF0dXJlZC1zdWJ0aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDMuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICAgIC5oZXJvLXRpdGxlLmJsb2ctZmVhdHVyZWQtc3VidGl0bGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjMxMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjQzVENDNGO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlcm8tdGl0bGUuYmxvZy1mZWF0dXJlZC1zdWJ0aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuc2VjdGlvbiN0cmFpbmluZyB7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHNlY3Rpb24jdHJhaW5pbmcge1xuICAgICAgcGFkZGluZzogMTAwcHggMDsgfSB9XG4gIHNlY3Rpb24jdHJhaW5pbmcgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgc2VjdGlvbiN0cmFpbmluZyAudHJhaW5pbmctcm93IC50cmFpbmluZy1ldmVudDpsYXN0LW9mLXR5cGUgaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VjdGlvbiN0cmFpbmluZyAudHJhaW5pbmctcm93IC50cmFpbmluZy1ldmVudCAuZXZlbnQtZGF0ZS1jaXJjbGUge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA2LjI1cmVtO1xuICAgIGhlaWdodDogNi4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9XG4gICAgc2VjdGlvbiN0cmFpbmluZyAudHJhaW5pbmctcm93IC50cmFpbmluZy1ldmVudCAuZXZlbnQtZGF0ZS1jaXJjbGUgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgc2VjdGlvbiN0cmFpbmluZyAudHJhaW5pbmctcm93IC50cmFpbmluZy1ldmVudCAuZXZlbnQtZGF0ZS1jaXJjbGUgc3Bhbi5kYXRlLWRheSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIHNlY3Rpb24jdHJhaW5pbmcgLnRyYWluaW5nLXJvdyAudHJhaW5pbmctZXZlbnQgLmV2ZW50LWRhdGUtY2lyY2xlIHNwYW4uZGF0ZS1tb250aCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBzZWN0aW9uI3RyYWluaW5nIC50cmFpbmluZy1yb3cgLnRyYWluaW5nLWV2ZW50IC5ldmVudC1sb2NhdGlvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIHNlY3Rpb24jdHJhaW5pbmcgLnRyYWluaW5nLXJvdyAudHJhaW5pbmctZXZlbnQgLmV2ZW50LXRpdGxlIGEge1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIHNlY3Rpb24jdHJhaW5pbmcgLnRyYWluaW5nLXJvdyAudHJhaW5pbmctZXZlbnQgLmV2ZW50LXRpdGxlIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIHNlY3Rpb24jdHJhaW5pbmcgLnRyYWluaW5nLXJvdyAudHJhaW5pbmctZXZlbnQgaHIge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG5cbnNlY3Rpb24jb3V0Zml0dGVycyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTsgfVxuICBzZWN0aW9uI291dGZpdHRlcnMgLm91dGZpdHRlcnMtcm93IC5vdXRmaXR0ZXJzLWxpc3QgLm91dGZpdHRlcnMtbGlzdC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24jb3V0Zml0dGVycyAub3V0Zml0dGVycy1yb3cgLm91dGZpdHRlcnMtbGlzdCAub3V0Zml0dGVycy1saXN0LXJvdyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgc2VjdGlvbiNvdXRmaXR0ZXJzIC5vdXRmaXR0ZXJzLXJvdyAub3V0Zml0dGVycy1saXN0IC5vdXRmaXR0ZXItd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHNlY3Rpb24jb3V0Zml0dGVycyAub3V0Zml0dGVycy1yb3cgLm91dGZpdHRlcnMtbGlzdCAub3V0Zml0dGVyLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBzZWN0aW9uI291dGZpdHRlcnMgLm91dGZpdHRlcnMtcm93IC5vdXRmaXR0ZXJzLWxpc3QgLm91dGZpdHRlci13cmFwcGVyIC5vdXRmaXR0ZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgcGFkZGluZzogMi4xMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgc2VjdGlvbiNvdXRmaXR0ZXJzIC5vdXRmaXR0ZXJzLXJvdyAub3V0Zml0dGVycy1saXN0IC5vdXRmaXR0ZXItd3JhcHBlciAub3V0Zml0dGVyIC5zdGF0ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICBzZWN0aW9uI291dGZpdHRlcnMgLm91dGZpdHRlcnMtcm93IC5vdXRmaXR0ZXJzLWxpc3QgLm91dGZpdHRlci13cmFwcGVyIC5vdXRmaXR0ZXIgLm91dGZpdHRlcnMtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjsgfVxuICAgICAgc2VjdGlvbiNvdXRmaXR0ZXJzIC5vdXRmaXR0ZXJzLXJvdyAub3V0Zml0dGVycy1saXN0IC5vdXRmaXR0ZXItd3JhcHBlciAub3V0Zml0dGVyIC5vdXRmaXR0ZXJzLXBob25lIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICBzZWN0aW9uI291dGZpdHRlcnMgLm91dGZpdHRlcnMtcm93IC5vdXRmaXR0ZXJzLWxpc3QgLm91dGZpdHRlci13cmFwcGVyIC5vdXRmaXR0ZXIgLm91dGZpdHRlcnMtd2Vic2l0ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbnNlY3Rpb24jYWJvdXQge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgc2VjdGlvbiNhYm91dCB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwOyB9IH1cbiAgc2VjdGlvbiNhYm91dCAuYWJvdXQtcm93IC5jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIHNlY3Rpb24jYWJvdXQgLmFib3V0LXJvdyAuaW1hZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgICBzZWN0aW9uI2Fib3V0IC5hYm91dC1yb3cgLmltYWdlLXdyYXBwZXI6aG92ZXIgc3ZnLmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBzZWN0aW9uI2Fib3V0IC5hYm91dC1yb3cgLmltYWdlLXdyYXBwZXI6aG92ZXIgc3ZnLnBsYXkge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIHNlY3Rpb24jYWJvdXQgLmFib3V0LXJvdyAuaW1hZ2Utd3JhcHBlciAuYWJvdXQtaW1hZ2Uge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtOyB9XG4gICAgc2VjdGlvbiNhYm91dCAuYWJvdXQtcm93IC5pbWFnZS13cmFwcGVyIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMi41cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICBzZWN0aW9uI2Fib3V0IC5hYm91dC1yb3cgLmltYWdlLXdyYXBwZXIgc3ZnLnBsYXkge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICBzZWN0aW9uI2Fib3V0IC5hYm91dC1yb3cgLmltYWdlLXdyYXBwZXIgc3ZnLmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuXG5zZWN0aW9uI2Jsb2cge1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIHNlY3Rpb24jYmxvZyB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwOyB9IH1cbiAgc2VjdGlvbiNibG9nIC5ibG9nLXJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBzZWN0aW9uI2Jsb2cgLmJsb2ctcm93IC5wb3N0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy40Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIHNlY3Rpb24jYmxvZyAuYmxvZy1yb3cgLnBvc3Qge1xuICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNibG9nIC5ibG9nLXJvdyAucG9zdCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIHNlY3Rpb24jYmxvZyAuYmxvZy1yb3cgLnBvc3QgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTUuNjI1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gICAgICAgIG1heC13aWR0aDogMzEwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIHNlY3Rpb24jYmxvZyAuYmxvZy1yb3cgLnBvc3QgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgICBzZWN0aW9uI2Jsb2cgLmJsb2ctcm93IC5wb3N0IC5wb3N0LWRhdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICM5MjkwODY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICBzZWN0aW9uI2Jsb2cgLmJsb2ctcm93IC5wb3N0IC5wb3N0LXRpdGxlIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MS41NjI1ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uI2Jsb2cgLmJsb2ctcm93IC5wb3N0IC5wb3N0LXRpdGxlIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgICAgICBzZWN0aW9uI2Jsb2cgLmJsb2ctcm93IC5wb3N0IC5wb3N0LXRpdGxlIGE6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgc2VjdGlvbiNibG9nIC5ibG9nLXJvdyAucG9zdCAuZXhjZXJwdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBzZWN0aW9uI2Jsb2cgLmJsb2ctcm93IC5wb3N0IC5leGNlcnB0IGEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIHNlY3Rpb24jYmxvZyAuYmxvZy1yb3cgLnBvc3QgLnJlYWQtb24ge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgc2VjdGlvbiNibG9nIC5ibG9nLXJvdyAucG9zdCAucmVhZC1vbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkuMzc1cmVtOyB9IH1cbiAgICAgICAgc2VjdGlvbiNibG9nIC5ibG9nLXJvdyAucG9zdCAucmVhZC1vbjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnNpbmdsZS1wb3N0IHNlY3Rpb24jaGVybyB7XG4gIG1pbi1oZWlnaHQ6IDI4MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2luZ2xlLXBvc3Qgc2VjdGlvbiNoZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI3LjgxMjVyZW07IH0gfVxuICAuc2luZ2xlLXBvc3Qgc2VjdGlvbiNoZXJvIC5oZXJvLXJvdyAuaGVyby10aXRsZS5zaW5nbGUtYmxvZy1kYXRlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiAjQzVENDNGO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnNpbmdsZS1wb3N0IHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tc3VidGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNpbmdsZS1wb3N0IHNlY3Rpb24jaGVybyAuaGVyby1yb3cgLmhlcm8tc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG4uc2luZ2xlLXBvc3Qgc2VjdGlvbiNibG9nLXNpbmdsZSAuYmxvZy1zaW5nbGUtcm93IC5wb3N0LWNvbnRlbnQtd3JhcHBlciBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTsgfVxuXG5zZWN0aW9uI3Byb2R1Y3RzIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBzZWN0aW9uI3Byb2R1Y3RzIC5maWx0ZXItcHJvZHVjdHMtcm93IC5maWx0ZXJzLXdyYXBwZXIgLmZpbHRlcnMtdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuc3RpY2t5IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5maWx0ZXItYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5maWx0ZXItYnV0dG9ucyBhLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogI0U4RThFODtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuZmlsdGVyLWJ1dHRvbnMgYS5idXR0b24ucHJpbWFyeTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3RzIC5maWx0ZXItcHJvZHVjdHMtcm93IC5maWx0ZXJzLXdyYXBwZXIgLmZpbHRlci1idXR0b25zIGEuYnV0dG9uLnByaW1hcnkuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuZmlsdGVyLWJ1dHRvbnMgYS5idXR0b24ucHJpbWFyeTphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5maWx0ZXItYnV0dG9ucyBhLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuZmlsdGVyLWJ1dHRvbnMgYS5idXR0b24ucHJpbWFyeS5taXhpdHVwLWNvbnRyb2wtYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuZmlsdGVyLWJ1dHRvbnMgYS5idXR0b24ucHJpbWFyeTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5hY2NvcmRpb24ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZSwgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMsIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3RzIC5maWx0ZXItcHJvZHVjdHMtcm93IC5maWx0ZXJzLXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdHMgLmZpbHRlci1wcm9kdWN0cy1yb3cgLmZpbHRlcnMtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgdWwgbGkubWl4aXR1cC1jb250cm9sLWFjdGl2ZSwgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bCBsaTpmb2N1cywgc2VjdGlvbiNwcm9kdWN0cyAuZmlsdGVyLXByb2R1Y3RzLXJvdyAuZmlsdGVycy13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB1bCBsaS5hY3RpdmUge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wcm9kdWN0cyB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnByb2R1Y3RzIC5taXgtY29udGFpbmVyIC5yb3cge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdHMgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnByb2R1Y3RzIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9kdWN0cyAuY29sdW1ucy5wcm9kdWN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3RzIC5jb2x1bW5zLnByb2R1Y3Q6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgICAucHJvZHVjdHMgLmNvbHVtbnMucHJvZHVjdDpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH0gfVxuICAucHJvZHVjdHMgLmNvbHVtbnMucHJvZHVjdCAucHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogOS4zNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdHMgLmNvbHVtbnMucHJvZHVjdCAucHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIuODEyNXJlbTsgfSB9XG4gICAgLnByb2R1Y3RzIC5jb2x1bW5zLnByb2R1Y3QgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciAucHJvZHVjdC1pbWFnZSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgLnByb2R1Y3RzIC5jb2x1bW5zLnByb2R1Y3QgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciAucHJvZHVjdC1pbWFnZTpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAucHJvZHVjdHMgLmNvbHVtbnMucHJvZHVjdCBociB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjRUQxQzI0O1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIC5wcm9kdWN0cyAuY29sdW1ucy5wcm9kdWN0IC50aXRsZS1hcnJvdy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgLnByb2R1Y3RzIC5jb2x1bW5zLnByb2R1Y3QgLnRpdGxlLWFycm93LXdyYXBwZXIgLnByb2R1Y3QtdGl0bGUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWluLWhlaWdodDogNHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wcm9kdWN0cyAuY29sdW1ucy5wcm9kdWN0IC50aXRsZS1hcnJvdy13cmFwcGVyIC5hcnJvdyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgLnByb2R1Y3RzIC5jb2x1bW5zLnByb2R1Y3Q6aG92ZXIgLmFycm93IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIC5wcm9kdWN0cyAuY29sdW1ucy5wcm9kdWN0OmhvdmVyIC5wcm9kdWN0LXRpdGxlIHtcbiAgICBjb2xvcjogI0VEMUMyNDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAucHJvZHVjdHMgLmNvbHVtbnMucHJvZHVjdDpob3ZlciAucHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUQxQzI0OyB9XG4gICAgLnByb2R1Y3RzIC5jb2x1bW5zLnByb2R1Y3Q6aG92ZXIgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuXG5zZWN0aW9uI21vcmUtcHJvZHVjdHMtaW5mbyB7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBzZWN0aW9uI21vcmUtcHJvZHVjdHMtaW5mbyB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwOyB9IH1cbiAgc2VjdGlvbiNtb3JlLXByb2R1Y3RzLWluZm8gLm1vcmUtcHJvZHVjdHMtaW5mby1yb3cgLmhlcm8tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgc2VjdGlvbiNtb3JlLXByb2R1Y3RzLWluZm8gLm1vcmUtcHJvZHVjdHMtaW5mby1yb3cgLm1vcmUtcHJvZHVjdHMtaW5mby10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBzZWN0aW9uI21vcmUtcHJvZHVjdHMtaW5mbyAubW9yZS1wcm9kdWN0cy1pbmZvLXJvdyAuZW1haWwge1xuICAgIG1hcmdpbi10b3A6IDIuMTg3NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgc2VjdGlvbiNtb3JlLXByb2R1Y3RzLWluZm8gLm1vcmUtcHJvZHVjdHMtaW5mby1yb3cgLmVtYWlsOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuLnNpbmdsZS1wcm9kdWN0ICNmZWF0dXJlZCB7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNpbmdsZS1wcm9kdWN0ICNmZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4IDA7XG4gICAgICBwYWRkaW5nOiA1MHB4IDA7IH0gfVxuICAuc2luZ2xlLXByb2R1Y3QgI2ZlYXR1cmVkIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4uc2luZ2xlLXByb2R1Y3QgZm9vdGVyLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaW5nbGUtcHJvZHVjdCBmb290ZXIuc2l0ZS1mb290ZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9IH1cblxuc2VjdGlvbiNwcm9kdWN0LWhlcm8ge1xuICB6LWluZGV4OiAxMjtcbiAgcGFkZGluZzogMCAwIDMuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8ge1xuICAgICAgcGFkZGluZzogOS4zNzVyZW0gMDsgfSB9XG4gIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1pbi1oZWlnaHQ6IDIzcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgb3JkZXI6IDIwO1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtaW5mbyAucHJvZHVjdC1oZXJvLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnByb2R1Y3Qtc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXN1YnRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5wcm9kdWN0LXN1YnRpdGxlICoge1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtaW5mbyAucmVudC1idXktaGVyby1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMjM0NTY3ODk4NzY1NDMyMTsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMTU2MjVyZW07IH1cbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnJlbnQtYnV5LWhlcm8tcm93IC5yZW50LWJ1eS1jdGEgLmN0YS13cmFwcGVyIC5yZW50LWJ1eS10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNjg3NXJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnJlbnQtYnV5LWhlcm8tcm93IC5yZW50LWJ1eS1jdGEgLmN0YS13cmFwcGVyIC52YXJpYXRpb25zIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAucHJpY2Uge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgY29sb3I6ICNDNUQ0M0Y7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnJlbnQtYnV5LWhlcm8tcm93IC5yZW50LWJ1eS1jdGEgLmN0YS13cmFwcGVyIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAucHJpY2UgLnJlbnQtdGFnIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnJlbnQtYnV5LWhlcm8tcm93IC5yZW50LWJ1eS1jdGEgLmN0YS13cmFwcGVyIC50b3RhbC10aXRsZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAjQzVENDNGO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogNTVweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQzVENDNGO1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNDNUQ0M0Y7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzVweCBhdXRvIDIuMTg3NXJlbTsgfSB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAuMzEyNXJlbTsgfSB9XG4gICAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnJlbnQtYnV5LWhlcm8tcm93IC5yZW50LWJ1eS1jdGEgLmN0YS13cmFwcGVyIC5idXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjQzVENDNGO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNDNUQ0M0Y7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWluZm8gLnJlbnQtYnV5LWhlcm8tcm93IC5yZW50LWJ1eS1jdGEgLmN0YS13cmFwcGVyIC5wcm9kdWN0LXR5cGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM5MjkwODY7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAucHJvZHVjdC10eXBlLXN3aXRjaDpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAucHVyY2hhc2UtZm9ybSAuc3RlcC1jaXJjbGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtaW5mbyAucmVudC1idXktaGVyby1yb3cgLnJlbnQtYnV5LWN0YSAuY3RhLXdyYXBwZXIgLnB1cmNoYXNlLWZvcm0gLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1pbmZvIC5yZW50LWJ1eS1oZXJvLXJvdyAucmVudC1idXktY3RhIC5jdGEtd3JhcHBlciAucHVyY2hhc2UtZm9ybSAuc3RvY2sge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWluLWhlaWdodDogMzc1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyM3JlbTsgfSB9XG4gICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IC5nYWxsZXJ5LXJvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzOTNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IC5nYWxsZXJ5LXJvdyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyOC4xMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtZ2FsbGVyeSAuZ2FsbGVyeS1yb3cge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzkzcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtZ2FsbGVyeSAuZ2FsbGVyeS1yb3cgLmxvYWRpbmctb3ZlcmxheSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IDEyMzQ1NjsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IC5nYWxsZXJ5LXJvdyAucHJvZHVjdC1nYWxsZXJ5LXNsaWRlciB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtZ2FsbGVyeSAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IC5zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM5M3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWdhbGxlcnkgLnNsaWRlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWdhbGxlcnkgLnNsaWRlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM5M3B4OyB9IH1cbiAgICAgIHNlY3Rpb24jcHJvZHVjdC1oZXJvIC5wcm9kdWN0LWhlcm8tcm93IC5wcm9kdWN0LWdhbGxlcnkgLnNsaWNrLWRvdHMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRyZW07IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtZ2FsbGVyeSAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaGVybyAucHJvZHVjdC1oZXJvLXJvdyAucHJvZHVjdC1nYWxsZXJ5IC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWhlcm8gLnByb2R1Y3QtaGVyby1yb3cgLnByb2R1Y3QtZ2FsbGVyeSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbnNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiA0MS41ZW0pIHtcbiAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDY1cHg7IH0gfVxuICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwcmVtO1xuICAgIG1hcmdpbi10b3A6IC0xMHJlbTtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1zcGVjaWZpY2F0aW9ucyB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyAuc3BlY3MtdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyAuc3BlY3MtdGl0bGUge1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1zcGVjaWZpY2F0aW9ucyAuc3BlY3Mtcm93IC5zcGVjcy1saXN0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LXNwZWNpZmljYXRpb25zIC5zcGVjcy1yb3cgLnNwZWNzLWxpc3QgLnNwZWMtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyAuc3BlY3MtbGlzdCAuc3BlYy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyAuc3BlY3MtbGlzdCAuc3BlYy13cmFwcGVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyAuc3BlY3MtbGlzdCAuc3BlYy13cmFwcGVyIC5zcGVjLWxhYmVsIHtcbiAgICAgICAgICAgICAgZmxleDogNjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1zcGVjaWZpY2F0aW9ucyAuc3BlY3Mtcm93IC5zcGVjcy1saXN0IC5zcGVjLXdyYXBwZXIgLnNwZWMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgZmxleDogMS41OyB9IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMgLnNwZWNzLXJvdyAuc3BlY3MtbGlzdCAuc3BlYy13cmFwcGVyIC5zcGVjICoge1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIGZsZXg6IDE7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1zcGVjaWZpY2F0aW9ucyAuc3BlY3Mtcm93IC5zcGVjcy1saXN0IC5zcGVjLXdyYXBwZXIgLnNwZWMge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG4gICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIGlmcmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMjByZW07IH1cbiAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtZGVzY3JpcHRpb24tdGl0bGUge1xuICAgICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1kZXNjcmlwdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucmV2aWV3LXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgICAgIG1hcmdpbi10b3A6IDMuMTg3NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnJldmlldy10aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnQtZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnRsaXN0ICoge1xuICAgICAgICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuY29tbWVudGxpc3QgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5jb21tZW50bGlzdCAuY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5jb21tZW50bGlzdCAuY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuY29tbWVudGxpc3QgLnJldmlldy10ZXh0IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcXCJcIjsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnRsaXN0IC5yZXZpZXctdGV4dCBwOmZpcnN0LW9mLXR5cGU6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcXCJcIjsgfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnRsaXN0IC5yZXZpZXctdGV4dCAqIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnRsaXN0IC5yZXZpZXctdGV4dCAqIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuc3VibWl0LXJldmlldyB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTI5MDg2O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGNvbG9yOiAjOTI5MDg2O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuc3VibWl0LXJldmlldzpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5jb21tZW50LXJlc3BvbmQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5jb21tZW50LXJlc3BvbmQgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogIzk3OTc5NztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnQtcmVzcG9uZCAjcmVwbHktdGl0bGU6aG92ZXIge1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0tcmF0aW5nIGxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1mb3JtLXJhdGluZyAuc3RhcnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LWZvcm0tcmF0aW5nIC5zdGFycyBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuY29tbWVudC1yZXNwb25kICNzdWJtaXQge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5jb21tZW50LXJlc3BvbmQgI3N1Ym1pdDpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNFOEU4RTg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAucmV2aWV3LXJhdGluZyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLnJldmlldy1yYXRpbmcge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgICBzZWN0aW9uI3Byb2R1Y3QtaW5mb3JtYXRpb24gLnByb2R1Y3QtaW5mb3JtYXRpb24tcm93IC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5wcm9kdWN0LXJldmlld3MgLnNsaWNrLWRvdHMge1xuICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5zbGljay1kb3RzIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgc2VjdGlvbiNwcm9kdWN0LWluZm9ybWF0aW9uIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyAucHJvZHVjdC1kZXNjcmlwdGlvbiAucHJvZHVjdC1yZXZpZXdzIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICB3aWR0aDogMC42MjVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNEE0QTRBOyB9XG4gICAgICAgIHNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiAucHJvZHVjdC1pbmZvcm1hdGlvbi1yb3cgLnByb2R1Y3QtZGVzY3JpcHRpb24gLnByb2R1Y3QtcmV2aWV3cyAucmV2aWV3LWF1dGhvciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5zZWN0aW9uLnNpbmdsZS1wcm9kdWN0LXJlbGF0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4OyB9XG5cbnNlY3Rpb24jcmVudGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0zNy41cmVtO1xuICB6LWluZGV4OiAxMDAwO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBtYXgtd2lkdGg6IDI3LjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiAjRThFOEU4O1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgODAwbXMgY3ViaWMtYmV6aWVyKDAuNjYsIDAsIDAuMDc1LCAxKTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIHNlY3Rpb24jcmVudGFsLmFjdGl2ZSB7XG4gICAgbGVmdDogMDsgfVxuICBzZWN0aW9uI3JlbnRhbCAuc3RvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VjdGlvbiNyZW50YWwgLnF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIHNlY3Rpb24jcmVudGFsIC5xdWFudGl0eSBwIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiOyB9XG4gICAgc2VjdGlvbiNyZW50YWwgLnF1YW50aXR5IGlucHV0IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBzZWN0aW9uI3JlbnRhbCAuc3RvY2stY29tbWVudCB7XG4gICAgY29sb3I6ICM0QTRBNEE7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIHNlY3Rpb24jcmVudGFsIC5zdG9jay1jb21tZW50IGEge1xuICAgICAgY29sb3I6ICM0QTRBNEE7IH1cbiAgICAgIHNlY3Rpb24jcmVudGFsIC5zdG9jay1jb21tZW50IGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgc2VjdGlvbiNyZW50YWwgLmpzLXF0eSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAwOyB9XG4gICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5jYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAucmVudGFsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC53Y2ViX3BpY2tlcl93cmFwIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAud2NlYl9waWNrZXJfd3JhcCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAud2NlYl9waWNrZXJfd3JhcCAuYXJyaXZlLXRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtY29sb3I6ICM0QTRBNEE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLndjZWJfcGlja2VyX3dyYXAgLmFycml2ZS1zdWJ0ZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtY29sb3I6ICM0QTRBNEE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLmRpc2FibGVkIC5zdGVwLWNpcmNsZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTkgIWltcG9ydGFudDsgfVxuICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXJfX2lucHV0LS1hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJDbGljayB0aGUgZGF5IHlvdeKAmWQgbGlrZSB5b3VyIGdlYXIgdG8gYXJyaXZlXCI7IH1cbiAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAucGlja2VyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlci5waWNrZXItLW9wZW5lZCB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIC5waWNrZXJfX2ZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIC5waWNrZXJfX2ZyYW1lIC5waWNrZXJfX3dyYXAgLnBpY2tlcl9fYm94IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9faGVhZGVyIC5waWNrZXJfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAucGlja2VyIC5waWNrZXJfX2hvbGRlciAucGlja2VyX19mcmFtZSAucGlja2VyX193cmFwIC5waWNrZXJfX2JveCAucGlja2VyX19oZWFkZXIgLnBpY2tlcl9fbW9udGgsXG4gICAgICAgICAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAucGlja2VyIC5waWNrZXJfX2hvbGRlciAucGlja2VyX19mcmFtZSAucGlja2VyX193cmFwIC5waWNrZXJfX2JveCAucGlja2VyX19oZWFkZXIgLnBpY2tlcl9feWVhciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIC5waWNrZXJfX2ZyYW1lIC5waWNrZXJfX3dyYXAgLnBpY2tlcl9fYm94IC5waWNrZXJfX2hlYWRlciAucGlja2VyX19uYXYtLXByZXY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9faGVhZGVyIC5waWNrZXJfX25hdi0tcHJldjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9faGVhZGVyIC5waWNrZXJfX25hdi0tZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9faGVhZGVyIC5waWNrZXJfX25hdi0tZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIC5waWNrZXJfX2ZyYW1lIC5waWNrZXJfX3dyYXAgLnBpY2tlcl9fYm94IC5waWNrZXJfX2hlYWRlciAucGlja2VyX19uYXYtLW5leHQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9faGVhZGVyIC5waWNrZXJfX25hdi0tbmV4dDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggKiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgICAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5yZW50YWwtY29scyAucGlja2VyIC5waWNrZXJfX2hvbGRlciAucGlja2VyX19mcmFtZSAucGlja2VyX193cmFwIC5waWNrZXJfX2JveCAucGlja2VyX19kYXkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9fZGF5IC5zdG9jay1hbW91bnQge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9fZGF5LnBpY2tlcl9fZGF5LS1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQzVENDNGO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAgICAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIC5waWNrZXJfX2ZyYW1lIC5waWNrZXJfX3dyYXAgLnBpY2tlcl9fYm94IC5waWNrZXJfX2RheS5waWNrZXJfX2RheS0tZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICM5MjkwODY7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgICAgICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAucmVudGFsLWNvbHMgLnBpY2tlciAucGlja2VyX19ob2xkZXIgLnBpY2tlcl9fZnJhbWUgLnBpY2tlcl9fd3JhcCAucGlja2VyX19ib3ggLnBpY2tlcl9fZGF5LnBpY2tlcl9fZGF5LS1kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjOTI5MDg2OyB9XG4gICAgICAgICAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnJlbnRhbC1jb2xzIC5waWNrZXIgLnBpY2tlcl9faG9sZGVyIC5waWNrZXJfX2ZyYW1lIC5waWNrZXJfX3dyYXAgLnBpY2tlcl9fYm94IC5waWNrZXJfX2RheTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLmJvb2tpbmdfZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAuYm9va2luZ19wcmljZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAuYm9va2luZ19wcmljZSAucHJpY2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLmJvb2tpbmdfcHJpY2UgLnByaWNlIC5hbW91bnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjsgfVxuICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC50b3RhbC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiOyB9XG4gICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjsgfVxuICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5zdGVwLWNpcmNsZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5zdGVwLWNpcmNsZS13cmFwcGVyIC5zdGVwLWNpcmNsZSB7XG4gICAgICAgIHdpZHRoOiAyLjY4NzVyZW07XG4gICAgICAgIGhlaWdodDogMi42ODc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5zdGVwLWNpcmNsZS13cmFwcGVyIC5zdGVwLWNpcmNsZSBzcGFuIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnN0ZXAtY2lyY2xlLXdyYXBwZXIgLnN0ZXAtdGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5zdGVwLXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAuc3RlcDIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IGlucHV0IHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxMy40Mzc1cmVtOyB9XG4gICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLnNwYWNlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFyZW07IH1cbiAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAuY2xvc2UtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgbWF4LWhlaWdodDogNzBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5jbG9zZS1idXR0b24td3JhcHBlciAucmVudGFsLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIGhlaWdodDogNjJweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjE7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgICBzZWN0aW9uI3JlbnRhbCAucmVudGFsLXJvdyAuY2xvc2UtYnV0dG9uLXdyYXBwZXIgLnJlbnRhbC1jbG9zZS1idXR0b246Zm9jdXMsIHNlY3Rpb24jcmVudGFsIC5yZW50YWwtcm93IC5jbG9zZS1idXR0b24td3JhcHBlciAucmVudGFsLWNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgICAgc2VjdGlvbiNyZW50YWwgLnJlbnRhbC1yb3cgLmNsb3NlLWJ1dHRvbi13cmFwcGVyIC5yZW50YWwtY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG5cbi5ib29raW5nX2RldGFpbHMsXG4uYm9va2luZ19wcmljZSxcbi50b3RhbC10aXRsZSxcbi53b29jb21tZXJjZS12YXJpYXRpb24tYXZhaWxhYmlsaXR5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2luZ2xlLXByb2R1Y3QtcmVsYXRlZCB7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zaW5nbGUtcHJvZHVjdC1yZWxhdGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaW5nbGUtcHJvZHVjdC1yZWxhdGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4ud29vY29tbWVyY2UtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUQxQzI0ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEyMzQ1NjtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLndvb2NvbW1lcmNlLWVycm9yLFxuLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDEyMzQ1Njg5ODc2NTQzMjEgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNjAwcHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTc1cHggIWltcG9ydGFudDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAwO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndvb2NvbW1lcmNlLWVycm9yLFxuICAgIC53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMDBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogLTE3NXB4ICFpbXBvcnRhbnQ7IH0gfVxuICAud29vY29tbWVyY2UtZXJyb3I6OmJlZm9yZSxcbiAgLndvb2NvbW1lcmNlLW1lc3NhZ2U6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAud29vY29tbWVyY2UtZXJyb3I6OmFmdGVyLFxuICAud29vY29tbWVyY2UtbWVzc2FnZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiw5dcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC41cmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud29vY29tbWVyY2UtZXJyb3IsXG4gICAgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICAgICAgaGVpZ2h0OiA1cmVtOyB9IH1cbiAgLndvb2NvbW1lcmNlLWVycm9yIGEsXG4gIC53b29jb21tZXJjZS1tZXNzYWdlIGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M1RDQzRjsgfVxuICAud29vY29tbWVyY2UtZXJyb3IuaGlkZSxcbiAgLndvb2NvbW1lcmNlLW1lc3NhZ2UuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbnNlY3Rpb24jY29udGFjdCB7XG4gIHBhZGRpbmc6IDY1cHggMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24jY29udGFjdCB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwOyB9IH1cbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZGVzY3JpcHRpb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjsgfVxuICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IGgzLFxuICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IGg0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICMxNzE3MTc7XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IC5jb250YWN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuY29udGFjdC1mb3JtLXdyYXBwZXIgdGV4dGFyZWEge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuY29udGFjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuICAgIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLmNvbnRhY3QtZm9ybS13cmFwcGVyIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzRBNEE0QTsgfVxuICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IC5jb250YWN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IC5jb250YWN0LWZvcm0td3JhcHBlciB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxNS42MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDEycHg7IH1cbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuY29udGFjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLmNvbnRhY3QtZm9ybS13cmFwcGVyIGZvcm0gbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuY29udGFjdC1mb3JtLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNEE0QTRBOyB9XG4gICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuY29udGFjdC1mb3JtLXdyYXBwZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlOyB9XG4gIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLnNhbGVzLWluZm8gLnNhbGVzLWluZm8tdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLnNhbGVzLWluZm8gLnNhbGVzLWluZm8tdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuc2FsZXMtaW5mby1zdWJ0aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuc2FsZXMtaW5mby1zdWJ0aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IC5zYWxlcy1pbmZvIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYzLjc1ZW0pIHtcbiAgICAgIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLnNhbGVzLWluZm8gLnJvdyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuY29udGFjdC1pbmZvLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBzZWN0aW9uI2NvbnRhY3QgLmNvbnRhY3Qtcm93IC5zYWxlcy1pbmZvIC5jb250YWN0LWluZm8td3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuY29udGFjdC1pbmZvLXdyYXBwZXIgc3ZnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuY29udGFjdC1pbmZvLXdyYXBwZXIgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuY29udGFjdC1pbmZvLXdyYXBwZXIgc3ZnIHtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7IH0gfVxuICAgIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLnNhbGVzLWluZm8gLmNvbnRhY3QtaW5mby13cmFwcGVyIGEge1xuICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgICAgIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLnNhbGVzLWluZm8gLmNvbnRhY3QtaW5mby13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuY29udGFjdC1pbmZvLXdyYXBwZXIgYSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgc2VjdGlvbiNjb250YWN0IC5jb250YWN0LXJvdyAuc2FsZXMtaW5mbyAuY29udGFjdC1kaXNjbGFpbWVyIHtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBjb2xvcjogIzk5OTk5OTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIHNlY3Rpb24jY29udGFjdCAuY29udGFjdC1yb3cgLnNhbGVzLWluZm8gLmNvbnRhY3QtZGlzY2xhaW1lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5zZWN0aW9uI2NhcnQgdGFibGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICBzZWN0aW9uI2NhcnQgdGFibGUgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBzZWN0aW9uI2NhcnQgdGFibGUgdGgge1xuICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIHNlY3Rpb24jY2FydCB0YWJsZSB0ciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5MjkwODY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uI2NhcnQgdGFibGUgdHIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzRBNEE0QTsgfSB9XG4gICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5MjkwODY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNEE0QTRBOyB9IH1cbiAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRkLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIHtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC52YXJpYXRpb24tbnYtdHlwZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNnJlbTsgfSB9XG4gICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtbmFtZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiUHJvZHVjdFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtbmFtZTo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiBkZCxcbiAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiBkdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1uYW1lIC52YXJpYXRpb24gZHQudmFyaWF0aW9uLUVuZCxcbiAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUgLnZhcmlhdGlvbiBkdC52YXJpYXRpb24tU3RhcnQge1xuICAgICAgICBsaW5lLWhlaWdodDogNHB4O1xuICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtbmFtZSAudmFyaWF0aW9uIGRkIHAge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1uYW1lIC52YXJpYXRpb24gZGQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtcXVhbnRpdHk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiUXVhbnRpdHlcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xLjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1xdWFudGl0eTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtcXVhbnRpdHkgLmNvdW50ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OTk5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1xdWFudGl0eSAuY291bnRlciBpIHtcbiAgICAgICAgICBjb2xvcjogIzk5OTk5OTsgfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtcXVhbnRpdHkgLnF1YW50aXR5IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkgaW5wdXQge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1heC13aWR0aDogMi41cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gICAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtcXVhbnRpdHkgLnF1YW50aXR5IGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBzZWN0aW9uI2NhcnQgdGFibGUgLmNhcnRfaXRlbSAucHJvZHVjdC1xdWFudGl0eSAucXVhbnRpdHkgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAgICAgLyogZGlzcGxheTogbm9uZTsgPC0gQ3Jhc2hlcyBDaHJvbWUgb24gaG92ZXIgKi9cbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIC8qIDwtLSBBcHBhcmVudGx5IHNvbWUgbWFyZ2luIGFyZSBzdGlsbCB0aGVyZSBldmVuIHRob3VnaCBpdCdzIGhpZGRlbiAqLyB9XG4gICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3Qtc3VidG90YWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAgIHNlY3Rpb24jY2FydCB0YWJsZSB0ci5jb3Vwb24tc3R1ZmYgdGQuYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSB0ci5jb3Vwb24tc3R1ZmYgdGQuYWN0aW9ucyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB0ZC5hY3Rpb25zIC5jb3Vwb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB0ZC5hY3Rpb25zIC5jb3Vwb24ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB0ZC5hY3Rpb25zIC5jb3Vwb24gaW5wdXRbbmFtZT1cImNvdXBvbl9jb2RlXCJdIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICBzZWN0aW9uI2NhcnQgdGFibGUgdHIuY291cG9uLXN0dWZmIHRkLmFjdGlvbnMgLmNvdXBvbiBpbnB1dFtuYW1lPVwiY291cG9uX2NvZGVcIl0ge1xuICAgICAgICAgICAgICB3aWR0aDogOTAlOyB9IH1cbiAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB0ZC5hY3Rpb25zIC5jb3Vwb24gaW5wdXRbbmFtZT1cImNvdXBvbl9jb2RlXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB0ZC5hY3Rpb25zIC5jb3Vwb24gaW5wdXRbbmFtZT1cImNvdXBvbl9jb2RlXCJdOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogIzRBNEE0QTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgc2VjdGlvbiNjYXJ0IHRhYmxlIHRyLmNvdXBvbi1zdHVmZiB0ZC5hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDEuODc1cmVtIGF1dG8gYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSB0ci5jb3Vwb24tc3R1ZmYgdGQuYWN0aW9ucyAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIHNlY3Rpb24jY2FydCB0YWJsZSB0ci5jb3Vwb24tc3R1ZmYgdGQuYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBzZWN0aW9uI2NhcnQgdGFibGUgLnNoaXBwaW5nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbnNlY3Rpb24jY2FydCAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNzBweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgc2VjdGlvbiNjYXJ0IC5jaGVja291dC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24jY2FydCAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uY2FydC1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNC4zNzVyZW0gMCAyLjE4NzVyZW07XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5yZXR1cm4tdG8tc2hvcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYS1ub3ZhJztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ud2MtYmFja3dhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzVENDNGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC53Yy1iYWNrd2FyZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzVENDNGICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLmNhcnQtZGlzY291bnQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuY2FydC1kaXNjb3VudCBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jYXJ0LWRpc2NvdW50IGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG5cbi5vcmRlci10b3RhbCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5vcmRlci10b3RhbCB0ZCB7XG4gICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBmb250LXdlaWdodDogOTAwOyB9XG5cbi5jaGVja291dCAud29vY29tbWVyY2UtZXJyb3Ige1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMzUwcHg7XG4gIHBhZGRpbmc6IDJyZW0gMHJlbSAhaW1wb3J0YW50OyB9XG4gIC5jaGVja291dCAud29vY29tbWVyY2UtZXJyb3IgbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuY2hlY2tvdXQgLndvb2NvbW1lcmNlLWVycm9yIGxpIHN0cm9uZyB7XG4gICAgICBsaW5lLWhlaWdodDogMTVweCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtaW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0QTRBNEE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiA0MS41ZW0pIHtcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWluZm8ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1pbmZvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWluZm8gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWluZm8gYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWluZm8gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZWZlZmU7IH1cblxuZm9ybS5jaGVja291dF9jb3Vwb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGZvcm0uY2hlY2tvdXRfY291cG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIGZvcm0uY2hlY2tvdXRfY291cG9uIC5mb3JtLXJvdyB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICBmb3JtLmNoZWNrb3V0X2NvdXBvbiBpbnB1dCxcbiAgZm9ybS5jaGVja291dF9jb3Vwb24gdGV4dGFyZWEge1xuICAgIHdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBjb2xvcjogIzE3MTcxNzsgfVxuICAgIGZvcm0uY2hlY2tvdXRfY291cG9uIGlucHV0OjpwbGFjZWhvbGRlcixcbiAgICBmb3JtLmNoZWNrb3V0X2NvdXBvbiB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICMxNzE3MTc7IH1cbiAgZm9ybS5jaGVja291dF9jb3Vwb24gaW5wdXQuYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNEE0QTRBO1xuICAgIGNvbG9yOiAjNEE0QTRBO1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgZm9ybS5jaGVja291dF9jb3Vwb24gaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07IH0gfVxuICAgIGZvcm0uY2hlY2tvdXRfY291cG9uIGlucHV0LmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbnNlY3Rpb24jY2hlY2tvdXQtcm93cyAuY2hlY2tvdXQtcm93cy1yb3cgaDMge1xuICBjb2xvcjogIzAwMDtcbiAgbGluZS1oZWlnaHQ6IDQycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBzZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5zZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgaW5wdXQsXG5zZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgdGV4dGFyZWEsXG5zZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgLnNlbGVjdDItY29udGFpbmVyIGEge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzE3MTcxNzsgfVxuICBzZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuICBzZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICBzZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgLnNlbGVjdDItY29udGFpbmVyIGE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzE3MTcxNzsgfVxuXG5zZWN0aW9uI2NoZWNrb3V0LXJvd3MgLmNoZWNrb3V0LXJvd3Mtcm93IC5iaWxsaW5nLXdyYXBwZXIgLnNlbGVjdDItY2hvaWNlIHtcbiAgaGVpZ2h0OiA0MHB4OyB9XG5cbnNlY3Rpb24jY2hlY2tvdXQtcm93cyAuY2hlY2tvdXQtcm93cy1yb3cgLmJpbGxpbmctd3JhcHBlciAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItY2hvaWNlID4gLnNlbGVjdDItY2hvc2VuIHtcbiAgbWFyZ2luLXRvcDogNnB4OyB9XG5cbnNlY3Rpb24jY2hlY2tvdXQtcm93cyAuY2hlY2tvdXQtcm93cy1yb3cgLmJpbGxpbmctd3JhcHBlciBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuc2VjdGlvbiNjaGVja291dC1yb3dzIC5jaGVja291dC1yb3dzLXJvdyAuYmlsbGluZy13cmFwcGVyIGxhYmVsW2Zvcj1cInNoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MtY2hlY2tib3hcIl0ge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogNDEuNWVtKSB7XG4gIHNlY3Rpb24jY2hlY2tvdXQtcm93cyAuY2hlY2tvdXQtcm93cy1yb3cgLmJpbGxpbmctd3JhcHBlciAuZm9ybS1yb3cge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxudGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0ciwgdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHRkLCB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGhlYWQsIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLm9yZGVyLXRvdGFsICoge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAub3JkZXItdG90YWwgdGQge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiOyB9XG4gIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAuY2FydF9pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0U4RThFODtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U4RThFODsgfVxuICAgIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtcXVhbnRpdHkgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLmNhcnRfaXRlbSAudmFyaWF0aW9uLW52LXR5cGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAuY2FydF9pdGVtIC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCI7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtbmFtZSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIC5jYXJ0X2l0ZW0gLnByb2R1Y3QtdG90YWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIjsgfVxuICAgIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAuY2FydF9pdGVtIC52YXJpYXRpb24ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLmNhcnRfaXRlbSAudmFyaWF0aW9uIGR0LnZhcmlhdGlvbi1TdGFydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAuY2FydF9pdGVtIC52YXJpYXRpb24gZGQudmFyaWF0aW9uLVN0YXJ0IHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSAuY2FydF9pdGVtIC52YXJpYXRpb24gZGQudmFyaWF0aW9uLVN0YXJ0IHA6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJHZWFyIEFycml2ZXMgb246IFwiOyB9XG4gICAgICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLmNhcnRfaXRlbSAudmFyaWF0aW9uIGR0LnZhcmlhdGlvbi1FbmQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgLmNhcnRfaXRlbSAudmFyaWF0aW9uIGRkLnZhcmlhdGlvbi1FbmQgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIC5jYXJ0X2l0ZW0gLnZhcmlhdGlvbiBkZC52YXJpYXRpb24tRW5kIHA6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJJJ2xsIHJldHVybiBnZWFyIG9uOiBcIjsgfVxuICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGhlYWQgdHIge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICB0YWJsZS53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXItdGFibGUgdGhlYWQgdHIgdGgucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicmVmcmlnZXJhdG9yLWRlbHV4ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAgIHRhYmxlLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0aGVhZCB0ciB0aC5wcm9kdWN0LXRvdGFsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlICNzaGlwcGluZ19tZXRob2Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jaGVja2JveCBhIHtcbiAgY29sb3I6ICM0QTRBNEE7IH1cblxuI3BsYWNlX29yZGVyIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNwYXltZW50IC5mb3JtLXJvdy5wbGFjZS1vcmRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKlx0XHRcdFx0XHRcdCAgICAgTGlxdWlkIFRoZW1lIEN1c3RvbSBTYXNzICAgICAgICAgICAgICAgICAgICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLyo9PT09PT09PT09PT09PT09PT09IEZvdW5kYXRpb24gQ29yZSA9PT09PT09PT09PT09PT09PT09PT09PSovXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT0gVmVuZG9yID09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4gQGltcG9ydCAnLi4vdmVuZG9yL3NsaWNrLmpzL3NsaWNrL3NsaWNrLnNjc3MnO1xuIEBpbXBvcnQgJy4uL3ZlbmRvci9zbGljay5qcy9zbGljay9zbGljay10aGVtZS5zY3NzJztcblxuLyo9PT09PT09PT09PT09PT09PSBTaXRlIExheW91dHMvTWl4aW5zID09PT09PT09PT09PT09PT09PT09PSovXG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnbGF5b3V0cy9zaXRlJztcbkBpbXBvcnQgJ2xheW91dHMvaGVhZGVyJztcbkBpbXBvcnQgJ2xheW91dHMvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dHMvaG9tZSc7XG5AaW1wb3J0ICdwYXJ0aWFscy9oZXJvJztcbkBpbXBvcnQgJ2xheW91dHMvdHJhaW5pbmcnO1xuQGltcG9ydCAnbGF5b3V0cy9vdXRmaXR0ZXJzJztcbkBpbXBvcnQgJ2xheW91dHMvYWJvdXQnO1xuQGltcG9ydCAnbGF5b3V0cy9ibG9nJztcbkBpbXBvcnQgJ2xheW91dHMvcHJvZHVjdHMnO1xuQGltcG9ydCAnbGF5b3V0cy9zaW5nbGUtcHJvZHVjdCc7XG5AaW1wb3J0ICdsYXlvdXRzL2NvbnRhY3QnO1xuQGltcG9ydCAnbGF5b3V0cy9jYXJ0JztcbkBpbXBvcnQgJ2xheW91dHMvY2hlY2tvdXQnO1xuQGltcG9ydCAnbGF5b3V0cy9nZW5lcmljJztcbkBpbXBvcnQgJ2xheW91dHMvaG93LWl0LXdvcmtzJztcbkBpbXBvcnQgJ2xheW91dHMvdmlkZW8tcGFnZSc7XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4xLjJcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBQcmltYXJ5IGNvbG9yIGZvciBpbnRlcmFjdGl2ZSBjb21wb25lbnRzIGxpa2UgbGlua3MgYW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcmltYXJ5LWNvbG9yOiAjMjE5OWU4ICFkZWZhdWx0O1xuXG4vLy8gU2Vjb25kYXJ5IGNvbG9yLCB1c2VkIHdpdGggY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgdGhlIGAuc2Vjb25kYXJ5YCBjbGFzcy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlY29uZGFyeS1jb2xvcjogIzc3NyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIGluZGljYXRlIGEgcG9zaXRpdmUgc3RhdHVzIG9yIGFjdGlvbiwgdXNlZCB3aXRoIHRoZSBgLnN1Y2Nlc3NgIGNsYXNzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIGluZGljYXRlIGEgY2F1dGlvbiBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAud2FybmluZ2AgY2xhc3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gaW5kaWNhdGUgYSBuZWdhdGl2ZSBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAuYWxlcnRgIGNsYXNzLlxuLy8vIEB0eXBlIENvbG9yXG4kYWxlcnQtY29sb3I6ICNlYzU4NDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWFwIHVzZWQgdG8gaXRlcmF0ZSB0aHJvdWdoIGNvbG9ycywgdG8gZ2VuZXJhdGUgQ1NTIGNsYXNzZXMgd2l0aCBsZXNzIGNvZGVcbiRmb3VuZGF0aW9uLWNvbG9yczogKFxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcbiAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LWNvbG9yLFxuICBzdWNjZXNzOiAkc3VjY2Vzcy1jb2xvcixcbiAgYWxlcnQ6ICRhbGVydC1jb2xvcixcbiAgd2FybmluZzogJHdhcm5pbmctY29sb3IsXG4pICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG5cbiAgLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE9mZi1jYW52YXNcbi8vICAyNC4gT3JiaXRcbi8vICAyNS4gUGFnaW5hdGlvblxuLy8gIDI2LiBQcm9ncmVzcyBCYXJcbi8vICAyNy4gUmV2ZWFsXG4vLyAgMjguIFNsaWRlclxuLy8gIDI5LiBTd2l0Y2hcbi8vICAzMC4gVGFibGVcbi8vICAzMS4gVGFic1xuLy8gIDMyLiBUaHVtYm5haWxcbi8vICAzMy4gVGl0bGUgQmFyXG4vLyAgMzQuIFRvb2x0aXBcbi8vICAzNS4gVG9wIEJhclxuXG5AaW1wb3J0ICcuLi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2Nzcyc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbi8vICRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4vLyAkZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRnb2xkOiAjQzVENDNGO1xuJHJlZDogI0VEMUMyNDtcbiRwcmltYXJ5LWNvbG9yOiAkZ29sZDtcbiRzZWNvbmRhcnktY29sb3I6ICRyZWQ7XG4kc3VjY2Vzcy1jb2xvcjogIzNhZGI3NjtcbiR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwO1xuJGFsZXJ0LWNvbG9yOiAjZWM1ODQwO1xuJGxpZ2h0LWdyYXk6ICNFOEU4RTg7XG4kZGlzYWJsZWQ6ICM5OTk5OTk7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZ3JheTogIzkyOTA4NjtcbiRkYXJrLWdyYXk6ICM0QTRBNEE7XG4kYmxhY2s6ICMwMDA7XG4kYmxhY2tpc2g6ICMxNzE3MTc7XG4kd2hpdGU6ICNmZWZlZmU7XG4vLyAkbGlnaHQtZ3JheTogI2U2ZTZlNjtcbi8vICRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbi8vICRkYXJrLWdyYXk6ICM4YThhOGE7XG4vLyAkYmxhY2s6ICMwYTBhMGE7XG4vLyAkd2hpdGU6ICNmZWZlZmU7XG4vLyAkYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4vLyAkYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuLy8gJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4vLyAkZ2xvYmFsLW1hcmdpbjogMXJlbTtcbi8vICRnbG9iYWwtcGFkZGluZzogMXJlbTtcbi8vICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuLy8gJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbi8vICRnbG9iYWwtcmFkaXVzOiAwO1xuLy8gJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBwaG9uZTogNjY1cHgsXG4gIHRhYmxldDogNzY4cHgsXG4gIG1lZGl1bTogMTAyNHB4LFxuICBsYXJnZTogMTIwMHB4LFxuICB4bGFyZ2U6IDE0NDBweCxcbiAgeHhsYXJnZTogMTgwMHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBwaG9uZSB0YWJsZXQgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG4vL1xuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1yZXNwb25zaXZlLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgdGFibGV0OiAxNnB4LFxuICBtZWRpdW06IDQwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDEyO1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVmcmlnZXJhdG9yOiBcInJlZnJpZ2VyYXRvci1kZWx1eGVcIiwgc2Fucy1zZXJpZjtcbiRub3ZhOiBcInByb3hpbWEtbm92YVwiO1xuJGhlYWRlci1mb250LWZhbWlseTogXCJyZWZyaWdlcmF0b3ItZGVsdXhlXCIsIHNhbnMtc2VyaWY7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiA2MDA7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiAzMCxcbiAgICAnaDMnOiAyNCxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbik7XG4kaGVhZGVyLWNvbG9yOiAkZ29sZDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4vLyAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbi8vICRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuLy8gJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuLy8gJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuLy8gJGNvZGUtY29sb3I6ICRibGFjaztcbi8vICRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuLy8gJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbi8vICRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuLy8gJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuLy8gJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4vLyAkaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4vLyAkaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuLy8gJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4vLyAkbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4vLyAkbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4vLyAkbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuLy8gJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4vLyAkbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbi8vICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbi8vICRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuLy8gJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuLy8gJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuLy8gJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4vLyAkYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuLy8gJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuLy8gJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4vLyAkY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbi8vICRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbi8vICRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbi8vICRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4vLyAka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbi8vICRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuLy8gJGxlYWQtbGluZWhlaWdodDogMS42O1xuLy8gJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4vLyAkc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuLy8gJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuLy8gJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4vLyAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbi8vICRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuLy8gJGFiaWRlLWlucHV0czogdHJ1ZTtcbi8vICRhYmlkZS1sYWJlbHM6IHRydWU7XG4vLyAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4vLyAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4vLyAkaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvcjtcbi8vICRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbi8vICRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuLy8gJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbi8vICRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbi8vICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbi8vICRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuLy8gJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuLy8gJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4vLyAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4vLyAkYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4vLyAkYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuLy8gJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuLy8gJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbi8vICRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLy8gJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4vLyAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbi8vICRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbi8vICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4vLyAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4vLyAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4vLyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4vLyAkYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4vLyAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4vLyAkYnV0dG9uLWZpbGw6IHNvbGlkO1xuLy8gJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbi8vICRidXR0b24tY29sb3I6ICNmZmY7XG4vLyAkYnV0dG9uLWNvbG9yLWFsdDogIzAwMDtcbiRidXR0b24tcmFkaXVzOiA0MHB4O1xuLy8gJGJ1dHRvbi1zaXplczogKFxuLy8gICB0aW55OiAwLjZyZW0sXG4vLyAgIHNtYWxsOiAwLjc1cmVtLFxuLy8gICBkZWZhdWx0OiAwLjlyZW0sXG4vLyAgIGxhcmdlOiAxLjI1cmVtLFxuLy8gKTtcbi8vICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuLy8gJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbi8vICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuLy8gJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4vLyAkY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbi8vICRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbi8vICRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbi8vICRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4vLyAkY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuLy8gJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4vLyAkY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4vLyAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XG4vLyAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XG4vLyAkY2xvc2VidXR0b24tc2l6ZTogMmVtO1xuLy8gJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4vLyAkY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4vLyAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyAkZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4vLyAkZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbi8vICRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE2LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbi8vICRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuLy8gJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4vLyAkZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuLy8gJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkZHJvcGRvd24tc2l6ZXM6IChcbi8vICAgdGlueTogMTAwcHgsXG4vLyAgIHNtYWxsOiAyMDBweCxcbi8vICAgbGFyZ2U6IDQwMHB4LFxuLy8gKTtcblxuLy8gMTcuIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuLy8gJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbi8vICRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbi8vICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4vLyAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbi8vICRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbi8vICRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuLy8gJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbi8vICRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbi8vICRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbi8vICRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICRoZWxwdGV4dC1jb2xvcjogIzMzMztcbi8vICRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4vLyAkaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4vLyAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4vLyAkaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4vLyAkZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuLy8gJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuLy8gJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbi8vICRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuLy8gJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogIzMzMztcbi8vICRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRpbnB1dC1jb2xvcjogJGJsYWNrO1xuLy8gJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuLy8gJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4vLyAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4vLyAkaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuLy8gJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4vLyAkaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4vLyAkaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbi8vICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XG4vLyAkaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4vLyAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuLy8gJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbi8vICRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4vLyAkbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4vLyAkbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4vLyAkbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4vLyAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4vLyAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbi8vICRtZW51LW1hcmdpbjogMDtcbi8vICRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4vLyAkbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuLy8gJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuLy8gJG1lbnUtZXhwYW5kLW1heDogNjtcblxuLy8gMjMuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vICRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4vLyAkb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuLy8gJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuLy8gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbi8vICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4vLyAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbi8vICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4vLyAkbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuLy8gJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI0LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbi8vICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbi8vICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbi8vICRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4vLyAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbi8vICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuLy8gJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4vLyAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuLy8gJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4vLyAkb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuLy8gJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjUuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4vLyAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuLy8gJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbi8vICRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuLy8gJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbi8vICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbi8vICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4vLyAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuLy8gJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNi4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4vLyAkcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuLy8gJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiAxMDAwcHg7XG4vLyAkcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtb2Zmc2V0OiByZW0tY2FsYygxMDApO1xuJHJldmVhbC1wYWRkaW5nOiAwcHg7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuLy8gJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAyOC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbi8vICRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4vLyAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAkc2xpZGVyLWhlaWdodDtcbi8vICRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4vLyAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4vLyAkc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuLy8gJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4vLyAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4vLyAkc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4vLyAyOS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbi8vICRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuLy8gJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4vLyAkc3dpdGNoLWhlaWdodDogMnJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbi8vICRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuLy8gJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbi8vICRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbi8vICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbi8vICRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbi8vICR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuLy8gJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuLy8gJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuLy8gJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbi8vICR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbi8vICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4vLyAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbi8vICR0YWJsZS1zdHJpcGU6IGV2ZW47XG4vLyAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4vLyAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbi8vICR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4vLyAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMS4gVGFic1xuLy8gLS0tLS0tLS1cblxuLy8gJHRhYi1tYXJnaW46IDA7XG4vLyAkdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbi8vICR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuLy8gJHRhYi1ib3JkZXI6ICRsaWdodC1ncmF5O1xuLy8gJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuLy8gJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbi8vICR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbi8vICR0YWItZXhwYW5kLW1heDogNjtcbi8vICR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4vLyAkdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbi8vICR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbi8vICR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vICR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuLy8gJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbi8vICR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4vLyAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbi8vICR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbi8vICR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyAkdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuLy8gJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4vLyAkdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuLy8gJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuLy8gJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbi8vICR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyAkaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbi8vICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbi8vICR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4vLyAkdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuLy8gJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuLy8gJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuLy8gJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4vLyAkdG9vbHRpcC1waXAtb2Zmc2V0OiAxLjI1cmVtO1xuLy8gJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbi8vICR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuLy8gJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbi8vICR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbi8vICR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAmIHtcbiAgICAgIEBpZiAkZ3JpZC1jb2x1bW4tZ3V0dGVyID09IG51bGwge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGd1dHRlciBpbiAkZ3JpZC1jb2x1bW4tcmVzcG9uc2l2ZS1ndXR0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgICB9XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgICAuI3skcm93fSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCBcIi4jeyRjb2x1bW59XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICAkZ3V0dGVyOiBudWxsO1xuXG4gICAgICBAaWYgJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXI7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1yZXNwb25zaXZlLWd1dHRlciwgJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJGJlaGF2aW9yOiAtemYtZ2V0LW9wdGlvbnMoJGJlaGF2aW9yLCBuZXN0IGNvbGxhcHNlKTtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgbWFwLWdldCgkYmVoYXZpb3IsIG5lc3QpIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJGJlaGF2aW9yLCBjb2xsYXBzZSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfG51bGx9ICRndXR0ZXIgW251bGxdIC0gR3V0dGVyIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyB0aGUgbWFyZ2lucy4gU2V0IHRvIGBudWxsYCB0byByZWZlciB0byB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiBudWxsKSB7XG4gIEBpZiAkZ3V0dGVyICE9IG51bGwge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCRndXR0ZXIpIC8gMiAqIC0xO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tcmVzcG9uc2l2ZS1ndXR0ZXIge1xuICAgICAgJG1hcmdpbjogcmVtLWNhbGMoJHZhbHVlKSAvIDIgKiAtMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBmbG9vcigoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpKTtcblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JlZCgkY29sb3IpfSwgI3tncmVlbigkY29sb3IpfSwgI3tibHVlKCRjb2xvcil9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNTAlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCBzbWFsbCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBwaG9uZTogNjY1cHgsXG4gIHRhYmxldDogNzY4cHgsXG4gIG1lZGl1bTogMTAyNHB4LFxuICBsYXJnZTogMTIwMHB4LFxuICB4bGFyZ2U6IDE0NDBweCxcbiAgeHhsYXJnZTogMTgwMHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBwaG9uZSB0YWJsZXQgbWVkaXVtIGxhcmdlKTtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiBzbWFsbCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRuZXh0LWJwOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuXG4gICAgICAgIEBpZiAkbmV4dC1icCA9PSBudWxsIHtcbiAgICAgICAgICAkYnAtbWF4OiBudWxsO1xuICAgICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IHRoZSBtZWRpYSBxdWVyeSBcIiN7JHZhbH1cIiBjYW5ub3QgYmUgdXNlZCBiZWNhdXNlICN7JGJwfSBpcyB0aGUgbGFyZ2VzdCBicmVha3BvaW50Lic7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICRicC1tYXg6ICRuZXh0LWJwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiB0aGUgaW5wdXQgaXMgXCIwIHVwXCJcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ09ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiAwO1xuXG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMsIHN1YnRyYWN0IHRoZSBicmVha3BvaW50IHZhbHVlIGJ5IG9uZSBcInBpeGVsXCIsIG9yIDEvMTZlbS5cbiAgICAgIEBpZiAkbmFtZWQge1xuICAgICAgICAkbWF4OiAkYnAtbWF4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbWF4OiAkYnA7XG4gICAgICB9XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiIGJ1dCBkb24ndCBcInNtYWxsIGRvd25cIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG5cbiAgLy8gR2hldHRvIGZvciBsb29wXG4gICRpOiAxO1xuICAkZm91bmQ6IGZhbHNlO1xuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcbiAgICBAaWYgJGZvdW5kID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgJGkgPiBsZW5ndGgoJG1hcCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuMlxuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGlmICRndXR0ZXIgIT0gbnVsbCB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGd1dHRlciBpbiAkZ3JpZC1jb2x1bW4tcmVzcG9uc2l2ZS1ndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuXG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJ3NtYWxsJyB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLCBpZiB0aGUgYmFja2dyb3VuZCBpcyBsaWdodC5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogIzAwMCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTIwJSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgJi50aW55ICAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCB0aW55KTsgfVxuICAgICYuc21hbGwgICAgeyBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgc21hbGwpOyB9XG4gICAgJi5sYXJnZSAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBsYXJnZSk7IH1cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogMC4yZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0nbGFiZWwnXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDElO1xuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgMC4xKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMS8xNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMS8xNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgJGxvd2VyLWJvdW5kLXNpemUgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSBzbWFsbCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBuZWVkIHN0eWxlcyFcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmICRjb3VudCAhPSBudWxsIHtcbiAgICBAd2FybiAnYnV0dG9uLWdyb3VwLWV4cGFuZCgpOiB0aGUgJGNvdW50IHByb3BlcnR5IGlzIG5vIGxvbmdlciBuZWVkZWQuIFRoaXMgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMi4nO1xuICB9XG5cbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgJi50aW55ICAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCB0aW55KTsgfVxuICAgICYuc21hbGwgICAgeyBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgc21hbGwpOyB9XG4gICAgJi5sYXJnZSAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBsYXJnZSk7IH1cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkY2FsbG91dC1mb250LWNvbG9yO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICAjeyR4fTogJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsO1xuICAjeyR5fTogJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDtcbiAgZm9udC1zaXplOiAkY2xvc2VidXR0b24tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICB6LWluZGV4OiAxMDtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG4gICAgJjpub3QoLnZlcnRpY2FsKSB7XG5cbiAgICB9XG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOm5vdCgudmVydGljYWwpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgJi5maXJzdC1zdWIge1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAxMHB4O1xuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAmLmlzLWRvd24tYXJyb3cgYSB7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgICYuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygycHgpICsgcmVtLWNhbGMoZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCB0b3ApKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgfVxuXG4gICAgICAmLmlzLWxlZnQtYXJyb3cgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cblxuICAgICAgJi5pcy1yaWdodC1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtbGVmdC1hcnJvdy5vcGVucy1pbm5lciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5pcy1yaWdodC1hcnJvdy5vcGVucy1pbm5lciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAmOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLFxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSA0OjMgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHBlcmNlbnRhZ2UgaGVpZ2h0IHRoYXQgY2FuIGJlIHVzZWQgYXMgcGFkZGluZyBpbiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbkBmdW5jdGlvbiBmbGV4LXZpZGVvKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIENyZWF0ZXMgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyBbJGZsZXh2aWRlby1yYXRpb10gLSBSYXRpbyB0byB1c2UgZm9yIHRoZSBjb250YWluZXIsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XG5cbiAgICAmLndpZGVzY3JlZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcbiAgICB9XG5cbiAgICAmLnZpbWVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaXRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgICYubWlkZGxlIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICYuYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgPiBpbWcsXG4gICAgICA+IGkge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICA+IHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgPiBpbWcsXG4gICAgICA+IGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgPiBpbWcsXG4gICAgICA+IGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gc21hbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgID4gbGkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogZm9yZWdyb3VuZCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cztcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAn4oCmJztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnwqsnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICfCuyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gT2Zmc2V0IGZyb20gdGhlIHRvcCBvZiB0aGUgd2luZG93IHdoZW4gYSBtb2RhbCBpcyBhZGRlZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtb2Zmc2V0OiByZW0tY2FsYygxMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBtYXJnaW46ICRyZXZlYWwtb2Zmc2V0IGF1dG8gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMi4yNXJlbTtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFs0cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLXdpZHRoIFsxLjVyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBwYWRkbGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkd2lkdGg6IDRyZW0sXG4gICRoZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtd2lkdGg6IDEuNXJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuICAkcGFkZGxlLWhlaWdodDogJGhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWxlZnQtYWN0aXZlOiAkd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksIDNyZW0sICRzd2l0Y2gtaGVpZ2h0LXRpbnksIDFyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksIDMuNXJlbSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsIDEuMjVyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksIDVyZW0sICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAycmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueW90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5b3dvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcblxuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gYWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJHRhYi1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC50aXRsZS1iYXItcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgb2Zmc2V0IGZvciB0b29sdGlwcy4gVGhpcyBjb250cm9scyBob3cgZmFyIHRoZSBwaXAgaXMgaW5kZW50ZWQgZnJvbSB0aGUgbGVmdCBlZGdlIG9mIHRoZSB0b29sdGlwLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLW9mZnNldDogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIHdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gbWFrZXMgc2VjdGlvbnMgc3RhY2tlZFxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIC8vIFN1Yi1zZWN0aW9uc1xuICAudG9wLWJhci10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGFzIGRlZmF1bHRcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIC50b3AtYmFyLXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgfVxuICAudG9wLWJhci1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiBzbGljay1pbWFnZS11cmwoXCJhamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQlVUVE9OIFNUWUxFU1xuXG5zZWN0aW9uI3RoYW5rLXlvdSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uNDA0LWhlcm8ge1xuICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuLnBhZ2UtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuYm9keSxcbmh0bWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xufVxuXG4uc2xpZGUtb3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxMjM7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmEuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgcmVtLWNhbGMoMTIpO1xuICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjAwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0OiB7XG4gICAgICAgIGFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICBmb250OiB7XG4gICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYucmVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmLmdob3N0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJlZDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2VudGVyZWQge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEycmVtO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgLy8gaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgfVxufVxuLy8gT1ZFUkxBWSBTVFlMRVNcblxuLm92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbn1cblxuLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4vLyBHRU5FUkFMIFNFQ1RJT04gU1RZTEVTXG5cbnNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgIHNpemU6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiAwcHggMHB4O1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMDApIDA7XG4gICAgfVxufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICB0ZXh0OiB7XG4gICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICBmb250OiB7XG4gICAgICAgIHdlaWdodDogNTAwO1xuICAgICAgICBzaXplOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAmLmdvbGQge1xuICAgICAgICBjb2xvcjogJGdvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDc1KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIG1heC13aWR0aDogOHJlbTtcbiAgICAvLyBtYXJnaW46IGF1dG87XG4gICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgbGkge1xuICAgICAgICB3aWR0aDogMTBweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuZnVsbC1jZW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NhcnREcmF3ZXIge1xuICAgIHotaW5kZXg6IDEyMzQ1ICFpbXBvcnRhbnQ7XG59XG5cbi5kcmF3ZXItLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxMjM0NSAhaW1wb3J0YW50O1xufVxuXG4ud29vY29tbWVyY2UgLnN0YXItcmF0aW5nIHNwYW46YmVmb3JlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZzpiZWZvcmUge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuc2VjdGlvbiNmZWF0dXJlZCB7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgcGFkZGluZzogMTAwcHggMDtcblxuICAgIH1cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIC8vIHNpdGUuc2Nzc1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgfVxuICAgIC5mZWF0dXJlZC1wcm9kdWN0cy1yb3cge1xuICAgICAgLmZlYXR1cmVkLXByb2R1Y3RzLWNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgICAuZmVhdHVyZWQtcHJvZHVjdCB7XG4gICAgICAgICAgICAuZmVhdHVyZWQtcHJvZHVjdC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEzNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMDUpO1xuXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzMDUpO1xuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZlYXR1cmVkLXByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS1hcnJvdy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5mZWF0dXJlZC1wcm9kdWN0LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZlYXR1cmVkLXByb2R1Y3QtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZlYXR1cmVkLXByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZlYXR1cmVkLXByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmVhdHVyZWQtY3RhLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLTFweCA3cHggMTlweCAwIHJnYmEoMCwwLDAsMC40NSk7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWVycm9yLCAud29vY29tbWVyY2UtbWVzc2FnZSwgLndvb2NvbW1lcmNlLWluZm8ge1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEyMyAhaW1wb3J0YW50O1xuICAqIHtcbiAgICBsaW5lLWhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuXG4gIH1cblxuICBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvbGQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkZ29sZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRyZWZyaWdlcmF0b3IgIWltcG9ydGFudDtcbiAgICAgIHNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICBjb2xvcjogJGdvbGQgIWltcG9ydGFudDtcblxuICAgIH1cbiAgfVxuXG5cbn1cbnVsLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMjM0NTY7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgIHdlaWdodDogNzAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gIGJhY2tncm91bmQ6ICRibGFjaztcbmNvbG9yOiB3aGl0ZTtcbmhlaWdodDogMTE1cHg7XG5wb3NpdGlvbjogZml4ZWQ7XG50b3A6IC03cHg7XG5sZWZ0OiAwO1xud2lkdGg6IDEwMCU7XG56LWluZGV4OiAxMjM0NTY7XG5kaXNwbGF5OiBmbGV4O1xuZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmFsaWduLWl0ZW1zOiBjZW50ZXI7XG5qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbkBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDVyZW07XG5cbiAgfVxuZm9udDoge1xuICBmYW1pbHk6ICRub3ZhO1xuICB3ZWlnaHQ6IDcwMDtcbn1cbmNvbG9yOiAkd2hpdGU7XG59XG5cbnNlY3Rpb24jZ3JpZC10ZXN0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTkwMDA5NDkzOTQwOTM0OTM0MDU5OTk5ICFpbXBvcnRhbnQ7XG4gIC5ncmlkLXRlc3Qtcm93IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYShncmF5LCAwLjIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgIC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTIuNSU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDguMzMzJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgfVxuICAgICAgLmNvbHVtbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEocmVkLCAwLjI1KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4qIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG4uZ2xvYmFsLWJnLWltZyB7XG4gIGJhY2tncm91bmQ6IHtcbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgIH1cblxufVxuLmZsZXgtdmlkZW8ge1xuICBtYXJnaW46IDA7XG59XG4iLCIvLyBFeHRlbmRzIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuLy8vL1xuLy8vIEBncm91cCBoZWFkZXJcbi8vLy9cbi8vLyBIZWlnaHQgb2YgdG9wYmFyIGF0ICR0b3BiYXItYnJlYWtwb2ludCBhbmQgdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWhlaWdodDogNjVweCAhZGVmYXVsdDsgLy8vIFJlc2V0IHRoZSBkZWZhdWx0ICR0b3BiYXItcGFkZGluZyB2YWx1ZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMCAxcmVtOyAvLy8gTWVkaWEgcXVlcnkgdG8gc2hvdyBmdWxsIG1lbnVcbi8vLyBAdHlwZSBTdHJpbmdcbiR0b3BiYXItYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0OyAvLy8gSGVpZ2h0IG9mIHRpdGxlIGJhciBiZWxvdyAkdG9wYmFyLWJyZWFrcG9pbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGl0bGViYXItaGVpZ2h0OiA0NXB4ICFkZWZhdWx0OyAvLy8gUmVzZXQgdGhlIGRlZmF1bHQgJHRpdGxlYmFyLXBhZGRpbmcgdmFsdWUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGl0bGViYXItcGFkZGluZzogMCAwLjVyZW07IC8vLyBBZGQgbmVzdGluZyB0byBzdWJtZW51J3MuIEJlc3QgdXNlZCB3aXRoIGFjY29yZGlvbiBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJHRpdGxlYmFyLW5lc3RlZDogZmFsc2UgIWRlZmF1bHQ7IC8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci1icmVha3BvaW50KSB7XG5cdC50b3AtYmFyIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Lm1lbnUtbG9nbyB7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKCR0b3BiYXItaGVpZ2h0KTtcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0cGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1lbnUtaXRlbXMge1xuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygkdG9wYmFyLWhlaWdodCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKCR0b3BiYXItaGVpZ2h0KTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDFyZW07XG5cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1yaWdodC1hcnJvdyA+IGE6OmFmdGVyIHtcblx0XHRcdC8vIEhpZGVzIGFycm93IG9uIHRvcC1sZXZlbCBtZW51IGl0ZW1zXG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuLy8vIFJlbW92ZXMgZmxvYXQgb24gJ21lZGl1bScgaWYgJHRvcGJhci1icmVha3BvaW50IGlzIGxhcmdlLlxuXG5AaWYgJHRvcGJhci1icmVha3BvaW50ID09ICdsYXJnZScge1xuXHQudG9wLWJhci1yaWdodCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLWJyZWFrcG9pbnQpIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cdH1cbn1cbi8vLyBBZGRzIG5lc3RpbmcgdG8gc3VibWVudSdzIGlmICR0aXRsZS1iYXIgbmVzdGVzIGlzIHRydWUuXG5AaWYgJHRpdGxlYmFyLW5lc3RlZCA9PSB0cnVlIHtcblx0LnRvcC1iYXIge1xuXHRcdC5pcy1hY2NvcmRpb24tc3VibWVudSxcblx0XHQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuXHRcdFx0QGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG5cdFx0fVxuXHR9XG59XG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGl0bGUgYmFyIGNvbnRhaW5lci5cblxuLnRpdGxlLWJhciB7XG5cdHBhZGRpbmc6IDA7XG5cblx0Lm1lbnUge1xuXHRcdGhlaWdodDogcmVtLWNhbGMoJHRpdGxlYmFyLWhlaWdodCk7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cblx0XHRsaSB7XG5cdFx0XHQmLm1lbnUtdG9nZ2xlLWljb24ge1xuXHRcdFx0XHRmb250LXNpemU6IDA7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiByZW0tY2FsYygkdGl0bGViYXItaGVpZ2h0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxubmF2LnRvcC1uYXYge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiA5OTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDIwKSByZW0tY2FsYyg0MCk7XG5cdC5oZWFkZXItbG9nbyB7XG5cdFx0c3ZnIHtcblx0XHRcdG1heC13aWR0aDogOTVweDtcblx0XHRcdGhlaWdodDogMTAwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblx0Lm5hdi1yaWdodCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHR1bCB7XG5cdFx0bGkge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHRleHQ6IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRhbGlnbjogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0XHRmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG5cdFx0XHRcdFx0c2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0XHRcdHdlaWdodDogNTAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbm5hdi5kcm9wLW5hdiB7XG5cdGJhY2tncm91bmQ6ICRibGFja2lzaDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogLTEwcmVtO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiA5OTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0bWF4LWhlaWdodDogNzVweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRhIHtcblx0XHRzdmcge1xuXHRcdFx0bWFyZ2luLXRvcDogN3JlbTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtN3JlbTtcblx0XHR9XG5cdH1cblxuXHQubmF2LXJpZ2h0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdCYuc2Nyb2xsaW5nIHtcblx0XHR0b3A6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdC5zZWNvbmRhcnktbG9nbyB7XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHN2ZyB7XG5cdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdHVsIHtcblx0XHRsaSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0dGV4dDoge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdGFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9udDoge1xuXHRcdFx0XHRcdGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcblx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHRcdFx0d2VpZ2h0OiA1MDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmhlYWRlci1jYXJ0IHtcblx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHN2ZyB7XG5cdFx0Ly8gd2lkdGg6IDUwcHg7XG5cdFx0aGVpZ2h0OiA1MHB4O1xuXHR9XG59XG5cbi5tb2JpbGUtbWVudS1pY29uLXdyYXBwZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogMXJlbTtcblx0bGVmdDogMXJlbTtcblx0d2lkdGg6IDVyZW07XG5cdGhlaWdodDogNXJlbTtcblx0ei1pbmRleDogMTIzNDU2O1xuXHQubW9iaWxlLW1lbnUtaWNvbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJveC1zaGFkb3c6IC0xcHggN3B4IDE5cHggMCByZ2JhKDEsMCwwLDAuMzUpO1xuXHRcdHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0YmFja2dyb3VuZDogJGdvbGQ7XG5cdFx0d2lkdGg6IHJlbS1jYWxjKDgwKTtcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDgwKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0XHQubWVudS1pY29uLXRleHQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdHRleHQ6IHtcblx0XHRcdFx0dHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR9XG5cdFx0XHRmb250OiB7XG5cdFx0XHRcdGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcblx0XHRcdFx0c2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuZnJvbnQge1xuXHRcdFx0ICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR9XG5cdFx0Ji5iYWNrIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuXHRcdFx0YmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZDtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuYWN0aXZlIHtcblx0XHQuZnJvbnQge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0fVxuXHRcdC5iYWNrIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcblx0XHRcdGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuXG5cdFx0fVxuXHR9XG5cbn1cblxubmF2I21vYmlsZS1tZW51IHtcblx0dHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xuXHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0ei1pbmRleDogMTIzNDU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDExMHZoO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Lm1vYmlsZS1tZW51LXRpdGxlIHtcblx0XHR0ZXh0OiB7XG5cdFx0XHR0cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHRcdGZvbnQ6e1xuXHRcdFx0c2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdH1cblx0fVxuXHR1bCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpIHtcblx0XHRcdHRleHQ6IHtcblx0XHRcdFx0YWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGxpZ2h0LWdyYXk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MnB4O1xuXHRcdFx0XHR0ZXh0OiB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9udDoge1xuXHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDI0KTtcblx0XHRcdFx0XHRmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5zaG9wcGluZy1jYXJ0LW1vYmlsZSB7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRjb2xvcjogJGdvbGQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5lbXB0eSB7XG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuc3ViLW1vYmlsZSB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHRleHQ6IHtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzZweDtcblx0XHRcdFx0XHRcdGZvbnQ6IHtcblx0XHRcdFx0XHRcdFx0c2l6ZTogcmVtLWNhbGMoMTgpO1xuXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0fVxuXG5cdH1cblx0Ji5hY3RpdmUge1xuXHRcdHRvcDogMDtcblx0fVxufVxuIiwiZm9vdGVyLnNpdGUtZm9vdGVyIHtcbiAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgMCByZW0tY2FsYyg1MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMDApIDAgcmVtLWNhbGMoNTApO1xuXG4gICAgICB9XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246IDAgNzUlO1xuICAgICAgICAvLyBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICAgIC5vdmVybGF5LWZvci1tb2JpbGUge1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zb2NpYWwtcm93IHtcbiAgICAgIHotaW5kZXg6IDEyO1xuICAgICAgICAuc29jaWFsLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2NpYWwtbWVkaWEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDY0KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDY0KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCkgcmVtLWNhbGMoOCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwtd3JhcHBlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgICAgIC5lbWFpbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzUpO1xuXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlbWFwLXJvdyB7XG4gICAgICB6LWluZGV4OiAxMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICB9XG4gICAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI1KTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdlbmVyYWwtaW5mby1yb3cge1xuICAgICAgei1pbmRleDogMTI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIC5tYWRlLWluLXRoZS11c2Ege1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3B5cmlnaHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlci10aXRsZSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTYpO1xuICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ1KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDApO1xuXG4gICAgICAgIH1cbiAgICAgIC5uZXdzbGV0dGVyLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQ6IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBhbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBhbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIC5uZXdzbGV0dGVyLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygzNSk7XG4gICAgICAgIHRleHQ6IHtcbiAgICAgICAgICBhbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICBzaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgIGFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE2cHggMCAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTI1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMTBweCAxMHB4IDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsInNlY3Rpb24jbGVnYWN5IHtcbiAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgICBzaXplOiA5NzZweDtcbiAgICAgICAgcG9zaXRpb246IDAlIDUwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgfVxuICAgICAgICAvLyBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgLy8gbWluLWhlaWdodDogcmVtLWNhbGMoNTc3KTtcbiAgICB9XG4gICAgLnJldmVhbCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IC0ycmVtO1xuICAgICAgICB0b3A6IC0ycmVtO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgLmZsZXgtdmlkZW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAubGVnYWN5LXJvdyB7XG4gICAgICAgIC5sZWdhY3ktdGl0bGUge1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDQpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAmOjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IHJlbS1jYWxjKDc1KTtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IHJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW46IGF1dG8gYXV0byByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWdhY3ktc3VidGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWdhY3ktdmlkZW8tY3RhIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAucGxheS1maWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGdvbGQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmLnBsYXkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAmLnBsYXkge1xuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUtbGVnYWN5LXZpZGVvLWN0YSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzNSk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5zZWN0aW9uI3Rlc3RpbW9uaWFscyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuXG4gICAgLnRlc3RpbW9uaWFscy1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHJlbTtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAudGVzdGltb25pYWwtc2xpZGVyIHtcbiAgICAgICAgfVxuICAgICAgICAudGVzdGltb25pYWwge1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNSk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRlc3RpbW9uaWFsLWltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMTApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMTApO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICBzaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IDYwJSA1MCU7XG4gICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2l6ZTogMTc1JTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXN0aW1vbmlhbC1ib2R5IHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgIGFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgIC8vIHN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaG9tZSB7XG4gICAgc2VjdGlvbiNoZXJvIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTc3KTtcbiAgICAgICAgLmhlcm8tdGl0bGUge1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4ucHJvZHVjdHMge1xuICAgIHNlY3Rpb24jaGVybyB7XG4gICAgICAgIC5oZXJvLXJvdyB7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNlY3Rpb24jaGVybyB7XG4gICAgcGFkZGluZzogNjBweCAwIDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgICBwb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDEyNXB4IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMjVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ3Nik7XG4gICAgfVxuXG4gICAgLmhlcm8tcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLm1vYmlsZS1sb2dvIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm8tc3VidGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mZWF0dXJlZC10aXRsZSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby1jdGFzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaGVyby1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm1peGl0dXAtY29udHJvbC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZXJvLXRpdGxlIHtcbiAgICB0ZXh0OiB7XG4gICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0NCk7XG4gICAgZm9udDoge1xuICAgICAgICBzaXplOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDc1KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg3KTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0byBhdXRvIHJlbS1jYWxjKDUpO1xuICAgIH1cblxuICAgICYuYmxvZy1mZWF0dXJlZC1zdWJ0aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsInNlY3Rpb24jdHJhaW5pbmcge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgfVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIC50cmFpbmluZy1yb3cge1xuICAgICAgICAudHJhaW5pbmctZXZlbnQge1xuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgICAuZXZlbnQtZGF0ZS1jaXJjbGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuZGF0ZS1kYXkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMzYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5kYXRlLW1vbnRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZXZlbnQtbG9jYXRpb24ge1xuICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmV2ZW50LXRpdGxlIHtcbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwic2VjdGlvbiNvdXRmaXR0ZXJzIHtcbiAgYmFja2dyb3VuZDoge1xuICAgIHNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiA1MCU7XG4gIH1cbiAgLm91dGZpdHRlcnMtcm93IHtcbiAgICAub3V0Zml0dGVycy1saXN0IHtcbiAgICAgIC5vdXRmaXR0ZXJzLWxpc3Qtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIC5vdXRmaXR0ZXItd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIC5vdXRmaXR0ZXIge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgLnN0YXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICBmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG4gICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLm91dGZpdHRlcnMtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLm91dGZpdHRlcnMtcGhvbmUge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5vdXRmaXR0ZXJzLXdlYnNpdGUge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsInNlY3Rpb24jYWJvdXQge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIH1cbiAgICAuYWJvdXQtcm93IHtcbiAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnBsYXkge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFib3V0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC00MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTQwKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgJi5wbGF5IHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJzZWN0aW9uI2Jsb2cge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbiAgICB9XG4gICAgLmJsb2ctcm93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAucG9zdCB7XG4gICAgICAgICAgbWluLWhlaWdodDogNjE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1NSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LWRhdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9zdC10aXRsZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmV4Y2VycHQge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZWFkLW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBTSU5HTEUgQkxPRyBQT1NUIFNUWUxFU1xuLnNpbmdsZS1wb3N0IHtcbiAgICBzZWN0aW9uI2hlcm8ge1xuICAgICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0NDUpO1xuICAgICAgICB9XG4gICAgICAuaGVyby1yb3cge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiByZW0tY2FsYyg3NSk7XG5cbiAgICAgICAgICB9XG4gICAgICAgIC5oZXJvLXRpdGxlLnNpbmdsZS1ibG9nLWRhdGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDI0KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZXJvLXN1YnRpdGxlIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBzaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VjdGlvbiNibG9nLXNpbmdsZSB7XG4gICAgICAgIC5ibG9nLXNpbmdsZS1yb3cge1xuICAgICAgICAgICAgLnBvc3QtY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG5zZWN0aW9uI3Byb2R1Y3RzIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLmZpbHRlci1wcm9kdWN0cy1yb3cge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAuZmlsdGVycy13cmFwcGVyIHtcbiAgICAgICAgICAgIC5maWx0ZXJzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdGlja3kge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpbHRlci1idXR0b25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblxuXG4gICAgICAgICAgICAgICAgYS5idXR0b24ucHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDIwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5taXhpdHVwLWNvbnRyb2wtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1peGl0dXAtY29udHJvbC1hY3RpdmUsJjpmb2N1cywmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cyB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgcGFkZGluZzogMDtcbiAgLm1peC1jb250YWluZXIge1xuICAgIC5yb3cge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gIH1cbiAgICAuY29sdW1ucy5wcm9kdWN0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxNTApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZTtcbiAgICAgICAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQ6IHJnYmEoJHJlZCwgMC41KTtcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAvLyAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIC8vICAgICB0b3A6IDA7XG4gICAgICAgICAgICAvLyAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUtYXJyb3ctd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAgICAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNlY3Rpb24jbW9yZS1wcm9kdWN0cy1pbmZvIHtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogNjBweCAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgfVxuICBiYWNrZ3JvdW5kOiB7XG4gICAgc2l6ZTogY292ZXI7XG4gICAgcG9zaXRpb246IDUwJTtcblxuICB9XG4gICAgLm1vcmUtcHJvZHVjdHMtaW5mby1yb3cge1xuICAgICAgICAuaGVyby10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZS1wcm9kdWN0cy1pbmZvLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNpbmdsZS1wcm9kdWN0IHtcbiAgICAjZmVhdHVyZWQge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4IDA7XG4gICAgICAgICAgcGFkZGluZzogNTBweCAwO1xuXG4gICAgICAgICAgfVxuICAgICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICB9XG4gICAgZm9vdGVyLnNpdGUtZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNlY3Rpb24jcHJvZHVjdC1oZXJvIHtcbiAgICB6LWluZGV4OiAxMjtcbiAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoNTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDAgMCByZW0tY2FsYygxMDApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNTApIDA7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246IDUwJSAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWhlcm8tcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM2OCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICAgIG9yZGVyOiAyMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygwKTtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaGVyby10aXRsZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZW50LWJ1eS1oZXJvLXJvdyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEyMzQ1Njc4OTg3NjU0MzIxO1xuXG4gICAgICAgICAgICAgICAgLnJlbnQtYnV5LWN0YSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIuNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLmN0YS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlbnQtYnV5LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC52YXJpYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlbnQtdGFnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC50b3RhbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRnb2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHggYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDM1cHggYXV0byByZW0tY2FsYygzNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZ29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXR5cGUtc3dpdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAucHVyY2hhc2UtZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN0ZXAtY2lyY2xlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdG9jayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzc1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzNjgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ2FsbGVyeS1yb3cge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzkzcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQ1MCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM5M3B4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sb2FkaW5nLW92ZXJsYXkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEyMzQ1NjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1nYWxsZXJ5LXNsaWRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAuc2xpY2stbGlzdCB7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGlkZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM5M3B4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzOTNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICBzaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDhyZW07XG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cmVtO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNlY3Rpb24jcHJvZHVjdC1pbmZvcm1hdGlvbiB7XG4gIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgfVxuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IDBweCAwcHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTByZW07XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG5cblxuICAgIC5wcm9kdWN0LWluZm9ybWF0aW9uLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zcGVjcy1yb3cge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgICAgICAgICAgICAgIC5zcGVjcy13cmFwcGVyIHt9XG5cbiAgICAgICAgICAgICAgICAuc3BlY3MtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNwZWNzLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLnNwZWMtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnNwZWMtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3BlYyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtcmV2aWV3cyB7XG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICBzdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbW1lbnQtZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbW1lbnRsaXN0IHtcbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnJldmlldy10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWJtaXQtcmV2aWV3IHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjcmV2aWV3X2Zvcm0ge31cblxuICAgICAgICAgICAgICAgIC5jb21tZW50LXJlc3BvbmQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgI3JlcGx5LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk3OTc5NztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbW1lbnQtZm9ybS1yYXRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3N1Ym1pdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucmV2aWV3LXJhdGluZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJldmlldy1hdXRob3Ige1xuICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuc2VjdGlvbi5zaW5nbGUtcHJvZHVjdC1yZWxhdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbn1cblxuc2VjdGlvbiNyZW50YWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogcmVtLWNhbGMoLTYwMCk7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDQwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDgwMG1zIGN1YmljLWJlemllcigwLjY2MCwgMC4wMDAsIDAuMDc1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDApO1xuICAgIH1cblxuICAgIC5zdG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnF1YW50aXR5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b2NrLWNvbW1lbnQge1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmpzLXF0eSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnJlbnRhbC1yb3cge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgMDtcblxuICAgICAgICAucmVudGFsLWNvbHMge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAuY2FydCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVudGFsLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMzYpO1xuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53Y2ViX3BpY2tlcl93cmFwIHtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYXJyaXZlLXRleHQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hcnJpdmUtc3VidGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgLy8gY29sb3I6ICRkaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItY29sb3I6ICRkaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAuc3RlcC1jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGlzYWJsZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICRkaXNhYmxlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAkZGlzYWJsZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkZGlzYWJsZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICRkaXNhYmxlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGlja2VyX19pbnB1dC0tYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiQ2xpY2sgdGhlIGRheSB5b3XigJlkIGxpa2UgeW91ciBnZWFyIHRvIGFycml2ZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBpY2tlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgICYucGlja2VyLS1vcGVuZWQge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGlja2VyX19ob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG4gICAgICAgICAgICAgICAgICAgIC5waWNrZXJfX2ZyYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpY2tlcl9fd3JhcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpY2tlcl9fYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlja2VyX19oZWFkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpY2tlcl9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waWNrZXJfX21vbnRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpY2tlcl9feWVhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlja2VyX19uYXYtLXByZXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlja2VyX19uYXYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpY2tlcl9fbmF2LS1uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpY2tlcl9fZGF5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN0b2NrLWFtb3VudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnBpY2tlcl9fZGF5LS1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLnBpY2tlcl9fZGF5LS1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICRncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvb2tpbmdfZGV0YWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYm9va2luZ19wcmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvdGFsLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLWNpcmNsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgICAgICAgIC5zdGVwLWNpcmNsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQzKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQzKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN0ZXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAtc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNwYWNlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2UtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiA1cmVtO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNzBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC5yZW50YWwtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHg7XG4gICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJvb2tpbmdfZGV0YWlscyxcbi5ib29raW5nX3ByaWNlLFxuLnRvdGFsLXRpdGxlLFxuLndvb2NvbW1lcmNlLXZhcmlhdGlvbi1hdmFpbGFiaWxpdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaW5nbGUtcHJvZHVjdC1yZWxhdGVkIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMjM0NTY7XG4gICAgZm9udDoge1xuICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICB3ZWlnaHQ6IDcwMDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1lcnJvcixcbi53b29jb21tZXJjZS1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHotaW5kZXg6IDEyMzQ1Njg5ODc2NTQzMjEgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMTc1cHggIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNzVweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udDoge1xuICAgICAgICBmYW1pbHk6ICRub3ZhO1xuICAgICAgICBzaXplOiByZW0tY2FsYygyNCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiw5dcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0wLjVyZW07XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBzaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgfVxuICAgIGZvbnQ6IHtcbiAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG4gICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIlxuc2VjdGlvbiNjb250YWN0IHtcbiAgcGFkZGluZzogNjVweCAwO1xuXG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgfVxuICAgIC5jb250YWN0LXJvdyB7XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBmYW1pbHk6ICRub3ZhO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzLFxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNraXNoO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0LWZvcm0td3JhcHBlciB7XG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgIHRleHRhcmVhIHtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrLWdyYXk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2FsZXMtaW5mbyB7XG4gICAgICAgICAgICAuc2FsZXMtaW5mby10aXRsZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2FsZXMtaW5mby1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAyMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRhY3QtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyAmLmFkZHJlc3Mtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLy8gICBhIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIC8vICAgICAgIHNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgIC8vICAgfVxuICAgICAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250YWN0LWRpc2NsYWltZXIge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwic2VjdGlvbiNjYXJ0IHtcbiAgICB0YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICAmLnByb2R1Y3QtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnRfaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YXJpYXRpb24tbnYtdHlwZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiUHJvZHVjdFwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC52YXJpYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBkZCxcbiAgICAgICAgICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBkdC52YXJpYXRpb24tRW5kLFxuICAgICAgICAgICAgICAgICAgICBkdC52YXJpYXRpb24tU3RhcnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogNTAlXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogNTAlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJRdWFudGl0eVwiO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY291bnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkaXNhYmxlZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRpc2FibGVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGRpc3BsYXk6IG5vbmU7IDwtIENyYXNoZXMgQ2hyb21lIG9uIGhvdmVyICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiA8LS0gQXBwYXJlbnRseSBzb21lIG1hcmdpbiBhcmUgc3RpbGwgdGhlcmUgZXZlbiB0aG91Z2ggaXQncyBoaWRkZW4gKi9cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3Qtc3VidG90YWwge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ci5jb3Vwb24tc3R1ZmYge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAgICAgdGQuYWN0aW9ucyB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvdXBvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFtuYW1lPVwiY291cG9uX2NvZGVcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0W25hbWU9XCJjb3Vwb25fY29kZVwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzApIGF1dG8gYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDExNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2hpcHBpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FydC1lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcwKSAwIHJlbS1jYWxjKDM1KTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnJldHVybi10by1zaG9wIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWEtbm92YSc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ud2MtYmFja3dhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb2xkICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuXG4uY2FydC1kaXNjb3VudCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLXRvdGFsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIHRkIHtcbiAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMzYpO1xuICAgICAgICAgICAgd2VpZ2h0OiA5MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2hlY2tvdXQge1xuXG4gIC53b29jb21tZXJjZS1lcnJvciB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgcGFkZGluZzogMnJlbSAwcmVtICFpbXBvcnRhbnQ7XG4gICAgbGkge1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiAxNnB4O1xuICAgICAgfVxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgICAud29vY29tbWVyY2UtaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICBmb250OiB7XG4gICAgICAgICAgc2l6ZTogMThweDtcbiAgICAgICAgICB3ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogMTVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICBmYW1pbHk6ICRub3ZhICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBzaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mb3JtLmNoZWNrb3V0X2NvdXBvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICB9XG4gIC5mb3JtLXJvdyB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgY29sb3I6ICRibGFja2lzaDtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNraXNoO1xuICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6ICRyZWZyaWdlcmF0b3I7XG4gICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTtcblxuICAgICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbnNlY3Rpb24jY2hlY2tvdXQtcm93cyB7XG4gICAgLmNoZWNrb3V0LXJvd3Mtcm93IHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBhbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmJpbGxpbmctd3JhcHBlciB7XG4gICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tpc2g7XG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNraXNoO1xuICAgICAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0Mi1jaG9pY2Uge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWNob2ljZSA+IC5zZWxlY3QyLWNob3NlbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVsW2Zvcj1cInNoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MtY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgICAgXHRcdFx0XHR9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1vdmVydmlldy13cmFwcGVyIHt9XG4gICAgfVxufVxudGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIHRyLHRkLHRoZWFkLHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gICAgdGV4dDoge1xuICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG4gIC5vcmRlci10b3RhbCB7XG4gICAgKiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cbiAgICB9XG4gICAgdGQge1xuICAgICAgZm9udC1mYW1pbHk6ICRub3ZhO1xuICAgIH1cbiAgfVxuICAuY2FydF9pdGVtIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyAmOjphZnRlciB7XG4gICAgLy8gICBjb250ZW50OiBcIlwiO1xuICAgIC8vICAgd2lkdGg6IDkwJTtcbiAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgdG9wOiAwO1xuICAgIC8vICAgbGVmdDogMDtcbiAgICAvLyAgIGhlaWdodDogMXB4O1xuICAgIC8vICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIC8vIH1cblxuICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICRkaXNhYmxlZDtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgIHNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52YXJpYXRpb24tbnYtdHlwZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQ6IHtcbiAgICAgICAgZmFtaWx5OiAkbm92YTtcbiAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICAgICAgdGV4dDoge1xuICAgICAgICB0cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICB3ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC10b3RhbCB7XG4gICAgICBmb250OiB7XG4gICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICBzaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGZhbWlseTogJG5vdmE7XG4gICAgICB9XG4gICAgfVxuICAgIC52YXJpYXRpb24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZHQudmFyaWF0aW9uLVN0YXJ0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIGRkLnZhcmlhdGlvbi1TdGFydCB7XG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBjb2xvcjogJGRpc2FibGVkO1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIHdlaWdodDogNjAwO1xuICAgICAgICAgICAgc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJHZWFyIEFycml2ZXMgb246IFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZHQudmFyaWF0aW9uLUVuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBkZC52YXJpYXRpb24tRW5kIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAkZGlzYWJsZWQ7XG4gICAgICAgICAgZm9udDoge1xuICAgICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBzaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIkknbGwgcmV0dXJuIGdlYXIgb246IFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICB0aGVhZCB7XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgdGgucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAvLyB3aWR0aDogOTAlO1xuICAgICAgICAgIGZvbnQ6IHtcbiAgICAgICAgICAgIGZhbWlseTogJHJlZnJpZ2VyYXRvcjtcbiAgICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoLnByb2R1Y3QtdG90YWwge1xuICAgICAgICBmb250OiB7XG4gICAgICAgICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgICAgICAgIHNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI3NoaXBwaW5nX21ldGhvZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuLmNoZWNrYm94IHtcbiAgYSB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cbn1cbiNwbGFjZV9vcmRlciB7XG4gIGZsb2F0Om5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICBmb250OiB7XG4gICAgZmFtaWx5OiAkcmVmcmlnZXJhdG9yO1xuICAgIHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgfVxuICB0ZXh0OiB7XG4gICAgdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgaGVpZ2h0OiA2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3BheW1lbnQge1xuICAuZm9ybS1yb3cucGxhY2Utb3JkZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
